Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

C# разница между & и &&

#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

Комментариев нет:

Отправить комментарий