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

242
02 июля 2018, 01:10

Имеется следующий блок кода

static void main()
{
int a = 10;
int b = 20;
if(a==10 && b == 20)
{
 //что-то
}
else
{
//что - то
}
}

Но следующий пример работает аналогично

if(a==10 & b==20)
{
 //что-то
}
else
{
//что - то
}

Так же существуют подобдные операторы : |, ||, &,&&.
В чём разница между ними?

Answer 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

READ ALSO
Проблема с кодировкой кириллицы

Проблема с кодировкой кириллицы

Производится шифрование текста в изображение (цифровая стеганография, метод LSB)Но при расшифровке текста из изображения (именно кириллицы),...

273
Бинарный поиск строки в массиве байт на C#

Бинарный поиск строки в массиве байт на C#

У меня есть бинарный файл, в котором лежат одноразмерные объекты (с именем пользователя) отсортированные по имени пользователяЕсть чужой...

311
Как задать точные координаты обьекта c#?

Как задать точные координаты обьекта c#?

Есть обьект, который двигается, и при прикосновении к стороне окна продолжает движение в другую сторонуТакже созданы обьекты(а1, а2), слева...

256
Индекс за пределами диапазона C# XPath

Индекс за пределами диапазона C# XPath

При парсе с html информацию, появляется ошибка

248