在一個例子中,我看到了這些運算符(| =和& =),但沒有解釋。 我在谷歌上看到它,但我發現只有「經典」=運營商相關的結果。
所以我想知道這些操作員在做什麼。有人可以向我解釋嗎?
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