#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
Комментариев нет:
Отправить комментарий