Вложенным называется такой оператор if
, который является адресатом другого оператора if
или же оператора else
.
Вложенные операторы if
очень часто применяются в программировании. Что же касается их применения в C#, то не следует забывать, что любой оператор else
всегда связан с ближайшим оператором if
, т.е. с тем оператором if
, который находится в том же самом блоке, где и оператор else
, но не с другим оператором else
. Рассмотрим следующий пример.
// Определить, является ли числовое значение положительным или отрицательным.
using System;
class PosNeg {
static void Main() {
if (i == 10) {
if (j < 20)
-a = b;
if (k > 100)
c = d;
else
a = c; // этот оператор else связан с оператором if (k > 100)
} else
a = d; // этот оператор else связан с оператором if (i == 10)
}
}
Как следует из комментариев к приведенному выше фрагменту кода, последний оператор else
не связан с оператором if (j < 20)
, поскольку они не находятся в одном и том же блоке, несмотря на то, что этот оператор является для него ближайшим оператором if
без вспомогательного оператора else
. Напротив, последний оператор else
связан с оператором if (i == 10)
. А внутренний оператор else
связан с оператором if (k > 100)
, поскольку этот последний является для него ближайшим оператором if
в том же самом блоке.
В приведенном ниже примере программы демонстрируется применение вложенного оператора if
. В представленной ранее программе определения положительных и отрицательных чисел о нуле сообщалось как о положительном числе. Но, как правило, нуль считается числом, не имеющим знака. Поэтому в следующей версии данной программы о нуле сообщается как о числе, которое не является ни положительным, ни отрицательным.
// Определить, является ли числовое значение
// положительным, отрицательным или нулевым.
using System;
class PosNegZero {
static void Main() {
int i;
for (i = -5; i <= 5; i++) {
Console.Write("Проверка " + i + ": ");
if (i < 0)
Console.WriteLine("отрицательное число");
else if (i == 0)
Console.WriteLine("число без знака");
else
Console.WriteLine("положительное число");
}
}
}
Ниже приведен результат выполнения этой программы.
Проверка -5: отрицательное число
Проверка -4: отрицательное число
Проверка -3: отрицательное число
Проверка -2: отрицательное число
Проверка -1: отрицательное число
Проверка 0: число без знака
Проверка 1: положительное число
Проверка 2: положительное число
Проверка 3: положительное число
Проверка 4: положительное число
Проверка 5: положительное число
Оператор if | Конструкция if-else-if |