#c_sharp #операторы
Имеется следующий блок кода static void main() { int a = 10; int b = 20; if(a==10 && b == 20) { //что-то } else { //что - то } } Но следующий пример работает аналогично if(a==10 & b==20) { //что-то } else { //что - то } Так же существуют подобдные операторы : |, ||, &,&&. В чём разница между ними?
Ответы
Ответ 1
a == 10 && b == 20 - если результатом левой части выражения будет false, то b == 20 вычисляться не будет a == 10 & b == 20 - будет вычислять оба выражения вне зависимости от результата левой части выражения. Допустим a и b - строки, тогда: a != null && a.Equals(b) - выполнится нормально a != null & a.Equals(b) - получим NullReferenceException если a == null
Комментариев нет:
Отправить комментарий