回答
a &= b;
相同
a = a & b;
&是 「按位與運算符」 中,搜索。
更具體地說,它是「按位AND賦值運算符」 ([根據MSDN](http://msdn.microsoft.com/en-us/library/windows/apps/a9h8y72a(v = vs.94).aspx),無論如何)。 – 2012-01-18 13:14:05
請注意'&='是** **按位**和**邏輯** AND運算符的複合賦值運算符,而不僅僅是「按位和運算符」。邏輯「與」情況的唯一特點是摺疊的&&不會短路(總是計算右手操作數),而如果左手操作數評估爲「假」,則未摺疊的&&操作符會發生短路。 – 2012-01-18 20:04:56
這是一個速記運營商允許你崩潰
a = a & b
到
a &= b
從整數位運算
除此之外,&=
可以對布爾值使用爲好,讓你崩潰
a = a && b
分成
a &= b
但是,在邏輯運算的情況下,展開形式是短路,而後者摺疊形式不會短路。
例子:
讓b()
是返回一個值的函數,也做的東西,會影響程序的狀態
讓a
是一個布爾值,它是false
如果你
a = a && b()
發生短路:由於a
是false
不需要評估b
(並且跳過b()
內部可能發生的額外計算)。
在另一方面,如果你這樣做
a &= b()
短路不會發生:b
在任何情況下被評估,即使a
是false
(和評估b()
不會改變的邏輯結果),因此b()
內可能發生的任何額外計算都會執行。
如果我沒記錯的話biwise操作...例如它可以和[Flags] Enum一起使用。 它檢查你的標誌變量是否有特定的值。
這
x &= y;
相當於
x = x & y;
注意&
是按位與操作。
在C#中(我認爲在大多數語言中)它是按位分配操作符。
一個& = b爲等效的A = A & b
a &= b
相當於a = a & b
- 1. 這是什麼算子<<< bash
- 2. 這是什麼算子<語法?
- 3. 這是什麼算法?
- 4. 這是什麼算法?
- 5. 這是什麼算法
- 6. 這是什麼遞歸算法
- 7. 這是什麼模式匹配算法?
- 8. 這個運算符是什麼「=>」?
- 9. 這是什麼== - javascript運算符?
- 10. 這是什麼編碼/壓縮算法?
- 11. 這個算法的上界是什麼?
- 12. 這是什麼樣的排序算法?
- 13. 這個算法的名字是什麼?
- 14. 這是什麼正確的算法?
- 15. 這是什麼排序算法?
- 16. 這是什麼rake db:種子錯誤是什麼意思?
- 17. 什麼是字典順序,這是什麼例子?
- 18. lua算子〜是什麼意思?
- 19. 什麼是Alef迭代算子?
- 20. 這是爲什麼忽略where子句?
- 21. 這張桌子的標記是什麼?
- 22. 什麼是在這個例子中
- 23. 這在Linq中會是什麼樣子?
- 24. 這些子集的順序是什麼?
- 25. 這個例子中的fn是什麼?
- 26. ......這是什麼?
- 27. 這是什麼?
- 28. 這是什麼(())?
- 29. ,這是什麼
- 30. 這個算法做什麼?
這是一個普通的操作者? http://www.w3schools.com/js/js_operators.asp – Abadon 2012-01-18 13:10:16
一般而言,對於任何二元運算符#,#= b等同於a = a#b。 – DenverCoder8 2012-01-18 13:44:08
(請注意,接受的答案是不完整的,請參閱http://stackoverflow.com/a/8910652/1018783關於&&操作符的更詳盡的解釋) – 2012-01-23 15:44:10