Главная arrow Язык программирования C# arrow C# Полное руководство Герберт Шилдт arrow Вложенные операторы if C# Полное руководство Герберт Шилдт

Вложенные операторы if C# Полное руководство Герберт Шилдт

Вложенным называется такой оператор if, который является адресатом другого оператора if или же оператора else. Вложенные операторы if очень часто применяются в программировании. Что же касается их применения в С#, то не следует забывать, что любой оператор else всегда связан с ближайшим оператором if, т.е. с тем оператором if, который находится в том же самом блоке, где и оператор else, но не с другим оператором else. Рассмотрим следующий пример.

if (i == 10) { if (j <20) a = b;
   if (k > 100) с = d;
   else a = с; // этот оператор else связан с
                   // оператором if (k > 100)
}
   else a = d; // этот оператор else связан с
                   // оператором if(i == 10)

Как следует из комментариев к приведенному выше фрагменту кода, последний оператор else не связан с оператором if (j < 20), поскольку они не находятся в одном и том же блоке, несмотря на то, что этот оператор является для него ближайшим оператором i f без вспомогательного оператора else. Напротив, последний оператор else связан с оператором if (i == 10). А внутренний оператор else связан с оператором if (к > 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: положительное число