число');
}
}
}
Ниже приведен результат выполнения этой программы.
Проверка -5: отрицательное число Проверка -4: отрицательное число Проверка -3: отрицательное число Проверка -2: отрицательное число Проверка -1: отрицательное число Проверка 0: число без знака Проверка 1: положительное число Проверка 2: положительное число Проверка 3: положительное число Проверка 4: положительное число Проверка 5: положительное число
Конструкция if-else-if
В программировании часто применяется
if(
else
Условные выражения в такой конструкции вычисляются сверху вниз. Как только обнаружится истинное условие, выполняется связанный с ним оператор, а все остальные операторы в многоступенчатой конструкции опускаются.
Если ни одно из условий не является истинным, то выполняется последний оператор else, который зачастую служит в качестве условия, устанавливаемого по умолчанию. Когда же последний оператор else отсутствует, а все остальные проверки по условию дают ложный результат, то никаких действий вообще не выполняется.
В приведенном ниже примере программы демонстрируется применение многоступенчатой конструкции if-else-if. В этой программе обнаруживается наименьший множитель заданного целого значения, состоящий из одной цифры.
// Определить наименьший множитель заданного // целого значения, состоящий из одной цифры.
using System;
class Ladder {
static void Main(), { int num;
for(num = 2; num < 12; num++) { if((num %
Console.WriteLine('Наименьший множитель числа ' + num + ' равен 2.') else if((num % 3) == 0)
Console.WriteLine('Наименьший множитель числа ' + num + ' равен 3.') else if((num % 5) == 0)
Console.WriteLine('Наименьший множитель числа ' + num + ' равен 5.') else if((num % 7) == 0)
Console.WriteLine('Наименьший множитель числа ' + num + ' равен 7.') else
Console.WriteLine(num + ' не делится на 2, 3, 5 или 7.');
}
}
}
Вот к какому результату приводит выполнение этой программы.
Наименьший множитель числа 2 равен 2 Наименьший множитель числа 3 равен 3
Наименьший множитель числа 10 равен 2
11 не делится на 2, 3, 5 или 7.
Как видите, последний оператор else выполняется лишь в том случае, если не удается выполнить ни один из предыдущих операторов.
Оператор switch
Вторым оператором выбора в C# является оператор switch, который обеспечивает многонаправленное ветвление программы. Следовательно, этот оператор позволяет сделать выбор среди нескольких альтернативных вариантов дальнейшего выполнения программы. Несмотря на то что многонаправленная проверка может быть организована с помощью последовательного ряда вложенных операторов if, во многих случаях более эффективным оказывается применение оператора switch. Этот оператор действует следующим образом. Значение выражения последовательно сравнивается с константами выбора из заданного списка. Как только будет обнаружено совпадение с одним из условий выбора, выполняется последовательность операторов, связанных с этим условием. Ниже приведена общая форма оператора switch.
switch