在一个例子中,我看到了这些运算符(| =和& =),但没有解释。 我在谷歌上看到它,但我发现只有“经典”=运营商相关的结果。
所以我想知道这些操作员在做什么。有人可以向我解释吗?
C#| =和&=运营商
回答
他们就像+=
只是速记任务。以下是等效的:
s |= t;
s = s | t;
而且这些也是等同的。
s &= t;
s = s & t;
哇!这很快!感谢您的解释和链接;-)对不起,这个noob问题。 – josefpospisil0
它们并不完全等同。 '| ='运算符将确保左侧仅被评估一次,而不是两次。尽管它们不完全一样,但它仍然是将其概念化的适当方式。 – Servy
@Servy:谢谢你指出。即使潜在的OP代码可能略有不同,它们在功能上是不是等同? – mellamokb
以及&=
就像i+=
一样的,换句话说
x&=2
是x=x & 2
|=
和&=
短形式对与|
(bitwise or)和&
(bitwise and)运营商赋值运算符。
它们执行按位或--操作和按位与 - &=
操作,结果存储在lValue
中。它们与|
和&
相同,但将结果存储在lValue
中,类似于+
和+=
或-
和-=
之间的差异。
- 1. C++和++运营商
- 2. C++铸造运营商和传统的C铸造运营商
- 3. C#&&,||运营商
- 4. C#? :运营商
- 5. 空 - 结合运营商和运营商&&
- 6. &&和||运营商
- 7. 空运营商C#
- 8. C++ [b]运营商
- 9. ==和eq运营商
- 10. QSharedData和运营商=
- 11. PHP!=和==运营商
- 12. REGEXP和运营商。+
- 13. 差异增量运营商的工作与&和运营商
- 14. 了解PowerShell运营商+和
- 15. 运营商<<重载 - C++和Java
- 16. C#运营商==,StringBuilder.Equals,Object.Equals和Object.ReferenceEquals
- 17. C++流和运营商>>优先
- 18. ++我运营商的差异和C++
- 19. 从Java到C++和新运营商
- 20. C++单身人士和新运营商
- 21. C#运营商和可读性
- 22. C预处理#和##运营商
- 23. C#,类[]运营商和分配/复制
- 24. 新的运营商和阵列C++
- 25. 运营商&&和||不堆栈
- 26. 同一组中运营商的C运营商优先级
- 27. C#重载甲运营商(B L,B R)的运营商
- 28. C++使用,而不是运营商运营商INT()+
- 29. Ternary?运营商VS传统的if-else运营商在C#
- 30. 联成员运营商VS内嵌运营商C++
['| ='运算符(C#参考)](http://msdn.microsoft.com/zh-cn/library/h5f1zzaw.aspx) – CodesInChaos
尝试搜索'C#运算符'。 – RedFilter