如果我有以下 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/

10-13 08:33