Другие языки программирования и технологии

Прогроммёры! C# Бошка не варит. Если есть условие if (A или Б) и истинными окажутся оба - условие будет true?

Нужно ли городить такой огород: If ((A или Б) или (А и Б)) ?
КР
Коля Рюмкин
19 451
Расскажу для с++, но думаю для шарпа анологично:
A || B || C - будет произведена проверка первого условия (A) если оно истино то остальные условия не проверяются и выражение считается истинным. Если же первое условие не истино то проверяется второе, третье и т. д. до тех пор пока не будет найдено истинное условие или все условия будут ложными (в последнем случае вернет false).

A|B|C - будет выпонено побитовое ИЛИ со всеми переменными (если это условия то с их истинностью конвертированными в int).

A&&B&&C - Будет произведена проверка истинности сначала первого условия, если оно ложно то проверка выполняться дальше не будет, а возвращено будет false. Если первое условие истино, то будет проверено второе условие и т. д. до тех пор пока не будет найдено ложное условие или все условия будут истинными (в последнем случае вернет истину).

A&B&C - будет произведено побитовое И со всеми переменными (или условиями конвертированными в int).

Конвертация условия в int
если условие истино (true) то это будет 1
если условие ложно (false) то 0
ПС
Павел Семёнов
15 408
Лучший ответ
Денис Дурнев Для C# всё верно, кроме автоматического преобразования типов. В C# и Java bool это отдельный тип, который не преобразуется в int и обратно. Более строгая типизация, чем в C/C++.
Коля Рюмкин Спасибо!) Освежили память.) Все это проходил и уже благополучно забыл.)
поеду на Z5 или трамвае
или
поеду на Z5 и трамвае
на выходе поеду хучь на чём, но точно поеду
или - если хотя бы одно из двух, если оба - проходит, чтоб только одно из двух - нужно исключающее или
Леонид Хорохов
Леонид Хорохов
84 909
не надо городить, все норм будет с if (A или Б)
В принципе да
Второе можешь убрать а и б и или убери, так как если а или б не истины то и все выражение не истино, а если а или б в первом выражении истинно, то и все выражение истино