Looking for c# Keywords? Try Ask4Keywords

C# Language переключатель


пример

Оператор switch - это оператор управления, который выбирает раздел переключателя для выполнения из списка кандидатов. Оператор switch включает в себя один или несколько разделов коммутатора. Каждая секция переключателя содержит один или несколько case меток следуют один или более операторов. Если ни одна метка случая не содержит соответствующего значения, управление передается в раздел по default , если таковой имеется. Случайное падение не поддерживается в C #, строго говоря. Однако, если 1 или более ярлыков case пусты, выполнение будет следовать за кодом следующего блока case который содержит код. Это позволяет группировку из нескольких case наклеек с одной и той же реализацией. В следующем примере, если month равен 12, код в case 2 будет выполнен , так как case этикеткой 12 1 и 2 сгруппированы. Если case блок не пуст, то break должен присутствовать до следующего case наклейки, в противном случае компилятор будет флаг ошибка.

int month = DateTime.Now.Month; // this is expected to be 1-12 for Jan-Dec

switch (month)
{
    case 12: 
    case 1: 
    case 2:
        Console.WriteLine("Winter");
        break;
    case 3: 
    case 4: 
    case 5:
        Console.WriteLine("Spring");
        break;
    case 6: 
    case 7: 
    case 8:
        Console.WriteLine("Summer");
        break;
    case 9:     
    case 10: 
    case 11:
        Console.WriteLine("Autumn");
        break;
    default:
        Console.WriteLine("Incorrect month index");
        break;
}

case может быть помечен только значением, известным во время компиляции (например, 1 , "str" , Enum.A ), поэтому variable не является допустимой меткой case , но значение const или Enum (а также любое буквальное значение).