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