Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Оператор if/else
Оператор if/else
В отличие от C и C++, оператор if/else в C# может работать только с булевыми выражениями, а не с произвольными значениями -1, 0. Поэтому в операторах if/else обычно используются операции C#, показанные в табл. 3.6. чтобы получить буквальные булевы значения.
Таблица 3.6. Операции сравнения в C#
Операция сравнения | Пример использования | Описание |
---|---|---|
== | if (age == 30) | Возвращает true (истина) только в том случае, когда выражении одинаковы |
!= | if("Foo"!= myStr) | Возвращает true (истина) только в том случае, когда выражения различны |
‹ › ‹= ›= | if(bonus‹2000) if(bonus›2000) if(bonus‹=2000) if(bonus›=2000) | Возвращает true (истина) только в том случае, когда выражение А соответственно меньше, больше, меньше или равно, больше или равно выражению В |
Программистам, использующим C и C++, следует обратить внимание на то, что их привычные приемы по проверке условий "на равенство нулю" в C# работать не будут. Например, вы хотите выяснить, будет ли данная строка длиннее пустой строки. Может возникнуть искушение написать следующее.
// В C# это недопустимо, поскольку Length возвращает int, а не bool.
string thoughtOfThеDay = "Старую coбaку новым трюкам научить МОЖНО";
if (thoughtOfTheDay.Length) {
…
}
В данном случае для использования cвойства String.Length нужно изменить условие так, как показано ниже.
// Это допустимо, так как результатом будет true или false.
if (0 != thoughtOfTheDay.Length)
Чтобы обеспечить более сложную проверку, оператор if может содержать сложные выражения и другие операторы, Синтаксис C# в данном случае идентичен C(++) и Java (и не слишком отличается от Visual Basic). Для построения сложных выражений C# имеет вполне отвечающий ожиданиям набор условных операций, описания которых предлагаются в табл. 3.7.
Таблица 3.7. Условные операции в C#
Операция | Пример | Описание |
---|---|---|
&& | if ((age == 30)&& (name == "Fred")) | Условная операция AND (И) |
|| | if ((age == 30) || (name == "Fred")) | Условная операция OR (ИЛИ) |
! | if (!myBool) | Условная операция NOT (HE) |
- Арифметические операторы
- 1.2.4. Операторы и приоритеты
- Условные операторы
- 1. Оператор Select – базовый оператор языка структурированных запросов
- Поразрядные операторы
- Оператор цикла foreach
- Логические операторы
- Оператор goto
- A7.11. Оператор побитового И
- Использование операторов if для выбора вариантов
- 2.1.3. Оператор варианта (переключатель)
- Оператор цикла for