Основы C#. Урок 7. Операторы if и switch
If служит для разветвления программы на два направления. Если некоторое условие выполняется, то программа идет в одну сторону, если не выполняется - то в другую. Вот сразу пример, определяющий, четное или нечетное число ввел пользователь:
... class Class1 { ... static void Main(string[] args) { int k = Int32.Parse(Console.ReadLine()); if(b) { Console.WriteLine("Четное число"); } else { Console.WriteLine("Нечетное число"); } Console.ReadLine(); } }
Как и в других C-подобных языках, фигурные скобочки можно не писать в случае одного оператора. Также написание веточка else тоже не является необходимым - все зависит от конкретной задачи.
Оператор switch примеряется тогда, когда программа должна разделится более чем на два направления (т. е. будем двигаться или сюда, или сюда, или сюда). Вот пример:
int k = Int32.Parse(Console.ReadLine()); Console.WriteLine(k.ToString()); switch (k){ case 1: case 2: Console.WriteLine("Неудовлетворительно"); break; case 3: Console.WriteLine("Удовлетворительно"); break; case 4: Console.WriteLine("Хорошо"); break; case 5: Console.WriteLine("Отлично"); break; default: Console.WriteLine("Ошибка"); break; }
В приведенном примере в зависимости от введенного пользователем числа на экран выводится та или иная оценка. Если число k не лежит в промежутке от 1 до 5, то выполняются операторы в веточке default и выводится надпись "Ошибка". Ветока default не обязательна. Обратите внимание на оператор break. Если его не написать, то будут выполнятся операторы из следующей веточки case до строки с break'ом (т. е. в данном примере если пользователь введет 1 или 2, то программы выведет "Неудовлетворительно"). Обратите внимание, что если в некоторой веточке case или default есть операторы, то написание break обязательно. Так, в следующих двух кусках кода есть ошибки:
... case 1: Console.WriteLine("Совсем неудовлетворительно"); //Ошибка! Тут пропушен break case 2: Console.WriteLine("Неудовлетворительно"); break; ...
... default: Console.WriteLine("..."); //Ошибка! Тут пропушен break }