Инструкции внутри метода выполняются последовательно, можно сказать, сверху вниз. Но такой ход выполнения можно изменить с помощью различных инструкций управления, поддерживаемых в С#. Сегодня поговорим об инструкции IF.
С помощью инструкции if можно организовать избирательное выполнение части программы. Действие инструкции if в С# во многом подобно действию одноименной инструкции в любом другом языке программирования. Что касается языков С, C++ и Java, то здесь налицо полная идентичность. Вот как выглядит простейшая форма записи этой инструкции:
if (условие) инструкция;
Здесь элемент условие представляет собой булево выражение (которое приводится к значению ИСТИНА или ЛОЖЬ). Заданная инструкция будет выполнена, если условие окажется истинным. В противном случае (если условие окажется ложным) заданная инструкция игнорируется.
if (10 < 11) Console.WriteLine("10 меньше 11");
if(10 < 9) Console.WriteLine("Этот текст выведен не будет.");
В первой строке число 10 действительно меньше 11, т.е. условное выражение истинно, поэтому метод WriteLine() будет вызван. Во второй строке число 10 никак не меньше 9, поэтому вызов метода WriteLine() не произойдет.
В С# определен полный комплект операторов отношения, которые можно использовать в условных выражениях. Вот их список:
< |
Меньше |
<= |
Меньше или равно |
> |
Больше |
>= |
Больше или равно |
== |
Равно |
!= |
Не равно |
Ну и напоследок пример, как это выглядит и работает.
// Демонстрация использования инструкции if.
using System;
class IfDemo
{
public static void Main()
{
int a, b, c;
a = 2;
b = 3;
if (a < b) Console.WriteLine("а меньше b");
// Следующая инструкция ничего не отобразит на экране,
if (a == b) Console.WriteLine(
"Этого текста никто не увидит.");
Console.WriteLine();
с = а - b; // Переменная с содержит -1.
Console.WriteLine("с содержит -1");
if (с >= 0) Console.WriteLine(
"Значение с неотрицательно");
if (с < 0) Console.WriteLine("Значение с отрицательно");
Console.WriteLine();
с = b - а; // Теперь переменная с содержит 1.
Console.WriteLine("с содержит 1");
if (с >= 0) Console.WriteLine(
"Значение с неотрицательно");
if (с < 0) Console.WriteLine("Значение с отрицательно");
}
}