Условные операторы позволяют строить логические условия. «Если это так, то сделать то-то, иначе поступать вот так» и тому подобные примеры. Любое условие типа «так или иначе» можно оформить в виде кода.
Именно благодаря условным операторам можно строить разветвляющиеся алгоритмы, элементы логики и заставлять «думать» Ваш компьютер.
Существует три вида условий на языке C#:
- if() — если, основное условие, если используется, то только один раз;
- else if() — альтернативное условие, если не сработало основное условие, использоваться может сколько угодно раз;
- else — срабатывает, если не было выполнено ни одно из условий, использоваться может только один раз;
В круглых скобках указывается логическое выражение.
Если логическое выражение верно (например, 2 меньше 10), то оператор возвращает true (истина или правда), а это значит, что логическое выражение выполнилось и код в этом блоке нужно выполнить.
Если логическое выражение не верно (например, 2 больше 10), то оператор возвращает false (ложь или неправда), а это значит, что логическое выражение не выполнилось и код в этом блоке выполнять не нужно.
Возвращать значение — это значит, что произошло какое-то действие и оператор (или функция) «ответил» нам. Мы задали вопрос (что больше, то или то) и компилятор дал нам ответ (либо да — true, либо нет — false).
Для того, чтобы что-то с чем-то сравнивать необходимо использовать специальные символы отведённые под это дело. Такие символы называются логическими операторами отношений.
Логические операторы отношений
На самом деле этих операторов не так уж и много.
- > — больше;
- < — меньше;
- == — проверка равенства значений;
- != — не равно;
- >= — больше, либо равно;
- <= — меньше, либо равно;
Собственно, этими самыми операторами мы и будем пользоваться при составлении логических выражений и тем самым сравнивать значения меж собой.
Для того, чтобы записывать более сложные логические условия используются логические операторы:
- && — логическое И;
- || — логическое ИЛИ;
Благодаря этим операторам мы можем комбинировать логические условия.
Модель правильных условий
Рассмотрим условную конструкцию как показательную модель
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
using System; //подключённая библиотека using System.Collections.Generic; //подключённая библиотека using System.Linq; //подключённая библиотека using System.Text; //подключённая библиотека using System.Threading.Tasks; //подключённая библиотека namespace ConsoleApplication1 //подключение пространства имён { class Program //класс { static void Main(string[] args) //метод класса { if(10 < 2) //основное условие { //тело условного выражения //здесь пишется код, который должен быть выполнен, //если логическое условие вернуло true //если вернуло false, то смотреть условия ниже } else if (9 < 2) //альтернативное условие { //тело условного выражения //здесь пишется код, который должен быть выполнен, //если логическое условие вернуло true //если вернуло false, то смотреть условия ниже } else if (8 < 2) //альтернативное условие { //тело условного выражения //здесь пишется код, который должен быть выполнен, //если логическое условие вернуло true //если вернуло false, то смотреть условия ниже } else if (4 < 2) //альтернативное условие { //тело условного выражения //здесь пишется код, который должен быть выполнен, //если логическое условие вернуло true //если вернуло false, то смотреть условия ниже } else //если ни одно из выше представленных условий не было выполнено { //тело условного выражения //здесь пишется код, который должен быть выполнен, //если ни одно из выше условий не сработало } } } } |
Запомните: в условном блоке (блоке для проверки какого-то элемента в алгоритме программы) используйте только один if()!
Компилятор не запрещает их использовать много в одном блоке, пожалуйста. Но, если Вы будете вместо else if() писать сплошные if(), то каждый раз будет происходить проверка логического условия, а это в свою очередь будет замедлять программу. Пишите качественный код!
Реальный пример условного выражения
Приведём практический пример с выводом сообщения. Сравним две переменные и выполним определённое действие в зависимости от возвращённого значения.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
using System; //подключённая библиотека using System.Collections.Generic; //подключённая библиотека using System.Linq; //подключённая библиотека using System.Text; //подключённая библиотека using System.Threading.Tasks; //подключённая библиотека namespace ConsoleApplication1 //подключение пространства имён { class Program //класс { static void Main(string[] args) //метод класса { int a = 10; //переменная со значением int b = 5; //переменная со значением if (a < b) //основное условие { Console.WriteLine("Выполнилось основное условие!"); //вывод сообщения } else if (a == b) //альтернативное условие { Console.WriteLine("Выполнилось альтернативное условие!"); //вывод сообщения } else //если не было выполнено ни одно из вышеперечисленных условий { Console.WriteLine("Не было выполнено ни одно из условий!"); //вывод сообщения } Console.Read(); //ожидание нажатия клавиши Enter } } } |
В результате получим
1 |
Не было выполнено ни одно из условий! |
Такой результат мы получили из-за того, что 10 больше 5. Поиграйтесь со значением переменных, получите другой результат.
Комбинированное логическое выражение
Приведём пример реализации комбинированного логического выражения.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
using System; //подключённая библиотека using System.Collections.Generic; //подключённая библиотека using System.Linq; //подключённая библиотека using System.Text; //подключённая библиотека using System.Threading.Tasks; //подключённая библиотека namespace ConsoleApplication1 //подключение пространства имён { class Program //класс { static void Main(string[] args) //метод класса { int a = 10; //переменная со значением int b = 5; //переменная со значением if (a < b) //основновное условие { Console.WriteLine("Выполнилось основное условие!"); //вывод сообщения } else if (a == 12 && b < 5) //альтернативное комбинированное условие { Console.WriteLine("Выполнилось логическое И!"); //вывод сообщения } else if (a == b || a > b) //альтернативное комбинированное условие { Console.WriteLine("Выполнилось логическое ИЛИ!"); //вывод сообщения } else //если не было выполнено ни одно из вышеперечисленных условий { Console.WriteLine("Не было выполнено ни одно из условий!"); //вывод сообщения } Console.Read(); //ожидание нажатия клавиши Enter } } } |
Теперь Вы можете сравнивать любые значения и строить собственные логические условия!
Таким нехитрым образом мы разобрались с «условные операторы и конструкции языка C# (sharp)»!