OR运算符中的C#条件差异

时间:2015-01-29 13:35:20

标签: 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);

1 个答案:

答案 0 :(得分:8)

运算符AND &&的优先级高于OR ||。因此,如果我们将此处使用的条件表示为1,2和3,则第一行与

等价
(1 || 2) && 3

和第二个

1 || (2 && 3)

有关按优先顺序排序的运算符的完整列表,请查看此MSDN page