Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 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)

Оглавление книги

Оглавление статьи/книги

Генерация: 0.056. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз