如果我有以下 bool 值:
bool success = true;
以下三行代码能否成功存储相同的结果:
1 - success &= SomeFunctionReturningABool();
2 - success = success & SomeFunctionReturningABool();
3 - success = success && SomeFunctionReturningABool();
我发现一篇文章指出1是2的快捷方式-但2与3相同,或者我的应用程序在执行此行时会爆炸...
最佳答案
对于 bool 类型,单个&
评估所有操作数,而双&&
仅在必要时评估(即,如果第一个操作数为false,则不会费心评估第二个操作数),也称为“短路”评估。
资料来源:http://msdn.microsoft.com/en-us/library/2a723cdk(v=vs.80).aspx
至于&=
赋值运算符,其作用与单个&
相同。
关于C#赋值运算符&=,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5537350/