Skip to content

VB -> C#: Use pattern in switch cases to reduce unnecessary code #803

@Saibamen

Description

@Saibamen

Use pattern in switch cases to reduce unnecessary code
Also -> remove 4 spaces before case's code block

VB.Net input code

Select Case Breite
  Case Is < 1000
    Rollo_FederUmdrehungen_Berechnen = 12
  Case Is < 1200
    Rollo_FederUmdrehungen_Berechnen = 15
  Case Is < 1600
    Rollo_FederUmdrehungen_Berechnen = 19
  Case Is < 1800
    Rollo_FederUmdrehungen_Berechnen = 25
  Case Else
    Rollo_FederUmdrehungen_Berechnen = 28
End Select

Erroneous output

switch (Breite)
{
    case var @case when @case < 1000:
        {
            Rollo_FederUmdrehungen_Berechnen = 12;
            break;
        }

    case var case1 when case1 < 1200:
        {
            Rollo_FederUmdrehungen_Berechnen = 15;
            break;
        }

    case var case2 when case2 < 1600:
        {
            Rollo_FederUmdrehungen_Berechnen = 19;
            break;
        }

    case var case3 when case3 < 1800:
        {
            Rollo_FederUmdrehungen_Berechnen = 25;
            break;
        }

    default:
        {
            Rollo_FederUmdrehungen_Berechnen = 28;
            break;
        }
}

Expected output

switch (Breite)
{
    case < 1000:
    {
        Rollo_FederUmdrehungen_Berechnen = 12;
        break;
    }

    case < 1200:
    {
        Rollo_FederUmdrehungen_Berechnen = 15;
        break;
    }

    case < 1600:
    {
        Rollo_FederUmdrehungen_Berechnen = 19;
        break;
    }

    case < 1800:
    {
        Rollo_FederUmdrehungen_Berechnen = 25;
        break;
    }

    default:
    {
        Rollo_FederUmdrehungen_Berechnen = 28;
        break;
    }
}

Details

Metadata

Metadata

Assignees

No one assigned

    Labels

    CodeAnalaysis 3+Can implement now that VS2017 support is droppedVB -> C#Specific to VB -> C# conversionenhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions