4
A
回答
14
x is false,becase(true & false)== false。
& =是& as + = is to +。
12
x &= false;
是簡寫:
x = x & false;
所以在你的代碼:真&假解析爲false。
2
x &= false;
相同
x = x & false;
所以,月影說:假的... ...
1
2
看看這個MSDN Article
摘錄:二進制&運算符是爲整型和布爾值預定義的。對於整數類型,&計算其操作數的邏輯按位與。對於bool操作數,&計算其操作數的邏輯與;也就是說,當且僅當它的兩個操作數都爲真時,結果才爲真。
因此,換句話說,這是說,x是在你的榜樣假的,因爲(true和false)是假的
1
x &= false
是
x = x & false
只有很短的形式
x是假的在該代碼的末尾。
& =是一個賦值操作符,它們有一堆(+ =, - =,* =,/ =,| =和更多)。它們只是對變量執行操作並將結果分配回該變量的簡短方法。
1
&運算符是一個邏輯「和」,總是評估表達式的兩半。除非兩個操作數都爲真,否則&返回false。 x & = y是x = x & y的縮寫。
在C#中使用的更常見的操作符是& &,該操作符返回相同的值,但一旦找到錯誤的值就停止計算操作數。這與返回值的函數的副作用有關。例如:
if(ConnectToDatabase() && ExecuteQuery())
將在所有情況下運行ConnectToDatabase(),但只有在ConnectToDatabase()返回true時才運行ExecuteQuery。在這種情況下,如果數據庫未連接,則不想嘗試運行查詢。
在另一方面:
if(VerifyIdentity() & RegisterRequest())
總會執行VerifyIdentity()和RegisterRequest(),然後評估他們的聯合返回值的感實性。
1
此操作可以驗證使用...
valid = True;
valid &= firstname.isValid();
valid &= lastname.isValid();
valid &= email.isValid();
if(valid)
// do something;
相關問題
- 1. 這個':'運算符在下面的C++代碼中做了什麼?爲什麼?
- 2. 這個JavaScript運算符在做什麼?
- 3. 這個C代碼是做什麼的?
- 4. 這個c/++代碼是做什麼的?
- 5. 這個C++代碼段做了什麼?
- 6. 這個C代碼是做什麼的?
- 7. 這個算法做什麼?
- 8. 這個javascript代碼在做什麼?
- 9. 這個bash代碼在做什麼?
- 10. 這個javascript代碼在做什麼?
- 11. 這個matlab代碼在做什麼?
- 12. 這個線程代碼在做什麼?
- 13. 這個JS代碼是做什麼的?
- 14. 這個python代碼試圖做什麼
- 15. 這段代碼片斷做什麼(三元運算符)?
- 16. 這個Arduino代碼是做什麼的?
- 17. 這段C++代碼在做什麼?
- 18. Javascript:這個代碼做什麼?
- 19. 這個C代碼做什麼(無符號)和(長)cast
- 20. 這個「__init__」在這段代碼中做了什麼?
- 21. 這個clojure代碼是做什麼的?
- 22. 這個Groovy代碼是做什麼的?
- 23. 這個jquery代碼是做什麼的?
- 24. 這個java代碼是做什麼的?
- 25. 這個Scheme代碼是做什麼的?
- 26. 這個rails代碼是做什麼的?
- 27. 這個xkcd代碼是做什麼的?
- 28. 這個VHDL代碼是做什麼的?
- 29. 這個PHP代碼做了什麼?
- 30. 這個python代碼是做什麼的?
於是問題就變成了...爲什麼使用&=可言,而不僅僅是X = FALSE; ? – 2009-02-04 17:22:40