c#是否使&;=and |=运算符
我知道c#是否使&;=and |=运算符,c#,operators,short-circuiting,C#,Operators,Short Circuiting,我知道&&运算符和|运算符在c#中短路。 但是&=操作符和|=操作符也是这样吗? 假设我有一句话: bool a = doSomething(); a &= doNext(); 这是否保证等同于: bool a = doSomething(); if(!a) a = doNext(); a = a & doNext() 我想这实际上相当于: bool a = doSomething(); if(!a) a = doNext(); a = a & doNex
&&
运算符和|
运算符在c#中短路。
但是&=
操作符和|=
操作符也是这样吗?
假设我有一句话:
bool a = doSomething();
a &= doNext();
这是否保证等同于:
bool a = doSomething();
if(!a)
a = doNext();
a = a & doNext()
我想这实际上相当于:
bool a = doSomething();
if(!a)
a = doNext();
a = a & doNext()
用谷歌搜索按位操作以查看更多信息。是的,它是,不等于&&。它是&operator plus Assignment的简短版本。doNext方法将被调用并对任何“a”值执行。所以,如果说“是的,它会”,你的意思是“不,它不会短路”?我有点误解了你的问题。我认为短路意味着&=而不是=…&。对不起,是的,你说得对。所以它不会短路。