C# 语言短路运算符
示例
根据定义,如果第一个操作数不能确定表达式的整体结果,则短路布尔运算符将仅计算第二个操作数。
这意味着,如果使用&&operator作为firstCondition&&secondCondition,则只有当firstCondition为true时,它才会计算secondCondition;而对于source,只有当firstOperand和secondOperand都计算为true时,整个结果才会为true。这在许多场景中都很有用,例如,假设您希望检查列表中有三个以上的元素,但您还必须检查列表是否已初始化为不运行NullReferenceException。您可以通过以下方式实现:
bool hasMoreThanThreeElements = myList != null &&mList.Count> 3;
在满足myList!=null之前,不会检查mList.Count>3。
逻辑与
&&是标准布尔值AND(&)运算符的短路对应项。
var x = true; var y = false; x && x // 返回true。 x && y // 返回false(评估y)。 y && x // 返回false(不评估x)。 y && y // 返回false(不评估正确的y)。
逻辑或
||是标准布尔值OR(|)运算符的短路对应项。
var x = true; var y = false; x || x // 返回true(不评估右边的x)。 x || y // 返回true(不评估y)。 y || x // 返回true(对x和y进行求值)。 y || y // 返回false(评估y和y)。
用法示例
if(object != null && object.Property)
//如果对象为空,则永远不会访问属性,因为短路。
Action1();
else
Action2();
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短