Книга: C# для профессионалов. Том II
if…else
if…else
Инструкция if
работает точно таким же образом и имеет такой же синтаксис в C#, как и в C++, кроме одного момента. Условие в каждом предложении if
или else
должно оцениваться как bool
. Например, предположим что х является целым типом данных, а не bool
, тогда следующий код C++ будет создавать ошибку компиляции в C#:
if (х) {
Правильный синтаксис C# выглядит так:
if (x != 0) {
так как оператор !=
возвращает bool
.
Это требование является хорошей иллюстрацией того, как дополнительная безопасность типов в C# заранее перехватывает ошибки. Ошибки времени выполнения в C++, вызываемые написанием if (a=b)
, когда предполагалось написать if (a==b)
являются достаточно распространенными. В C# эти ошибки будет перехватываться во время компиляции.
Отметим, что в C# невозможно преобразовать числовые переменные в или из bool
.