В этой статье мы узнаем, как использовать оператор if, if… else, if… else if в C # для управления потоком выполнения нашей программы.
В программировании проверка условия неизбежна. Мы часто сталкиваемся с ситуациями, когда нам нужно проверить условия (будь то true
или false
) для управления потоком программы. На эти условия могут повлиять ввод пользователя, временной фактор, текущая среда, в которой выполняется программа, и т. Д.
В этой статье мы научимся тестировать условия с помощью оператора if в C #.
Оператор C # if (if-then)
Оператор C # if-then выполнит блок кода, если данное условие истинно. Синтаксис оператора if-then в C #:
if (логическое-выражение) (// операторы выполняются, если логическое-выражение истинно)
- Логическое выражение вернет либо истину, либо
false
. - Если логическое выражение возвращается
true
, будут выполнены операторы внутри тела if (внутри(… )
). - Если логическое выражение возвращается
false
, инструкции внутри тела if будут проигнорированы.
Например,
если (число <5) (число + = 5;)
В этом примере инструкция
число + = 5;
будет выполняться, только если значение number меньше 5.
Помните оператор + =?
Как если заявление работает?
Пример 1. Оператор if в C #
using System; namespace Conditional ( class IfStatement ( public static void Main(string() args) ( int number = 2; if (number < 5) ( Console.WriteLine("(0) is less than 5", number); ) Console.WriteLine("This statement is always executed."); ) ) )
Когда мы запустим программу, вывод будет:
2 меньше 5 Этот оператор выполняется всегда.
Значение числа инициализируется равным 2. Таким образом, выражение number < 5
оценивается как true
. Следовательно, выполняется код внутри блока if. Код после оператора if всегда будет выполняться независимо от выражения.
Теперь измените значение числа 5
, скажем, на большее, чем 10
. Когда мы запустим программу, вывод будет:
Этот оператор выполняется всегда.
Выражение number < 5
вернется false
, следовательно, код внутри блока if не будет выполнен.
Оператор C # if… else (if-then-else)
Оператор if в C # может иметь необязательный оператор else. Блок кода внутри оператора else будет выполнен, если выражение оценивается как false
.
Синтаксис оператора if… else в C #:
if (boolean-expression) (// операторы выполняются, если логическое-выражение истинно) else (// операторы выполняются, если логическое-выражение ложно)
Например,
if (число <5) (число + = 5;) else (число - = 5;)
В этом примере инструкция
число + = 5;
будет выполняться, только если значение числа меньше чем 5
.
Заявление
число - = 5;
будет выполнен, если значение числа больше или равно 5
.
Как если… else заявление работает?
Пример 2: C # оператор if… else
using System; namespace Conditional ( class IfElseStatement ( public static void Main(string() args) ( int number = 12; if (number < 5) ( Console.WriteLine("(0) is less than 5", number); ) else ( Console.WriteLine("(0) is greater than or equal to 5", number); ) Console.WriteLine("This statement is always executed."); ) ) )
Когда мы запустим программу, вывод будет:
12 больше или равно 5 Этот оператор выполняется всегда.
Здесь значение числа инициализируется 12
. Таким образом, выражение number < 5
оценивается как false
. Следовательно, выполняется код внутри блока else. Код после оператора if… else будет выполняться всегда, независимо от выражения.
Теперь измените значение числа на что-нибудь меньшее 5
, скажем 2
. Когда мы запустим программу, вывод будет:
2 меньше 5 Этот оператор выполняется всегда.
Выражение number < 5
вернет истину, следовательно, код внутри блока if будет выполнен.
Тернарный оператор в C # обеспечивает сокращение для оператора C # if… else.
C # if… else if (if-then-else if) Оператор
Когда у нас есть только одно условие для проверки, инструкции if-then и if-then-else работают нормально. Но что, если у нас есть несколько условий для проверки и выполнения одного из множества блоков кода.
For such case, we can use if… else if statement in C#. The syntax for if… else if statement is:
if (boolean-expression-1) ( // statements executed if boolean-expression-1 is true ) else if (boolean-expression-2) ( // statements executed if boolean-expression-2 is true ) else if (boolean-expression-3) ( // statements executed if boolean-expression-3 is true )… else ( // statements executed if all above expressions are false )
The if… else if statement is executed from the top to bottom. As soon as a test expression is true
, the code inside of that if ( or else if ) block is executed. Then the control jumps out of the if… else if block.
If none of the expression is true
, the code inside the else block is executed.
Alternatively, we can use switch statement in such condition.
Example 3: C# if… else if Statement
using System; namespace Conditional ( class IfElseIfStatement ( public static void Main(string() args) ( int number = 12; if (number 5) ( Console.WriteLine("(0) is greater than 5", number); ) else ( Console.WriteLine("(0) is equal to 5"); ) ) ) )
When we run the program, the output will be:
12 is greater than 5
The value of number is initialized to 12
. The first test expression number < 5
is false
, so the control will move to the else if block. The test expression number> 5
is true
hence the block of code inside else if will be executed.
Similarly, we can change the value of number
to alter the flow of execution.
Nested if… else Statement
An if… else statement can exist within another if… else statement. Such statements are called nested if… else statement.
The general structure of nested if… else statement is:
if (boolean-expression) (if (nested-expression-1) (// код для выполнения) else (// код для выполнения)) else (if (nested-expression-2) (// код для выполнения ) else (// код для выполнения))
Вложенные операторы if обычно используются, когда нам нужно проверить одно условие, за которым следует другое. Во вложенном операторе if, если внешний оператор if возвращает true, он входит в тело для проверки внутреннего оператора if.
Пример 4: Вложенный оператор if… else
Следующая программа вычисляет наибольшее число среди 3 чисел, используя вложенный оператор if… else.
using System; namespace Conditional ( class Nested ( public static void Main(string() args) ( int first = 7, second = -23, third = 13; if (first> second) ( if (firstNumber> third) ( Console.WriteLine("(0) is the largest", first); ) else ( Console.WriteLine("(0) is the largest", third); ) ) else ( if (second> third) ( Console.WriteLine("(0) is the largest", second); ) else ( Console.WriteLine("(0) is the largest", third); ) ) ) ) )
Когда мы запустим программу, вывод будет:
13 самый большой