Geo*_*ett 56 c# language-design operators assignment-operator compound-assignment
我们为所有逻辑运算符,Shift运算符,Additive运算符和所有Multiplicative运算符都有等效的赋值运算符.
为什么逻辑运算符被遗漏了?难道有一个很好的技术理由吗?
Eri*_*ert 47
为什么逻辑运算符被遗漏了?难道有一个很好的技术理由吗?
他们没有.你可以做&=
或者|=
或者^=
如果你想.
bool b1 = false;
bool b2 = true;
b1 |= b2; // means b1 = b1 | b2
Run Code Online (Sandbox Code Playgroud)
在||
与&&
运营商没有以化合物的形式,因为坦率地说,他们是一个有点傻.在什么情况下你想说
b1 ||= b2;
b1 &&= b2;
Run Code Online (Sandbox Code Playgroud)
如果左侧不改变,则不评估右侧?似乎只有少数人会真正使用这个功能,为什么要把它放进去?
有关复合运算符的更多信息,请参阅我的严肃文章:
http://blogs.msdn.com/b/ericlippert/archive/2011/03/29/compound-assignment-part-one.aspx
和后续的愚人节文章:
http://blogs.msdn.com/b/ericlippert/archive/2011/04/01/compound-assignment-part-two.aspx
归档时间: |
|
查看次数: |
9594 次 |
最近记录: |