2015-01-29 2 views
0

В чем разница в обоих выражениях? Использование скобок или нет в этом случае. В чем разница ?C# Разница кондиционирования в операторе ИЛИ

(!String.IsNullOrEmpty(model.SpouseCitizenType) || !String.IsNullOrEmpty(model.SpouseNomPrenom)) && 
       String.IsNullOrEmpty(model.SpouseEGN); 

!String.IsNullOrEmpty(model.SpouseCitizenType) || !String.IsNullOrEmpty(model.SpouseNomPrenom) && 
       String.IsNullOrEmpty(model.SpouseEGN); 

ответ

8

Оператор И && имеет более высокую, чем precendence ИЛИ ||. Таким образом, если мы будем обозначать условия, используемые здесь, как 1, 2 и 3, первая линия будут сброшены

(1 || 2) && 3 

и второй

1 || (2 && 3) 

Полный список операторов отсортированных в порядке проверки очередностью из это MSDN page

+0

[Quick IDEOne] (https://ideone.com/DK43cB) программа, которая демонстрирует различные выходные данные. – Sayse

Смежные вопросы