What does a single | or & mean?
Possible Duplicate:
What is the diffference between the | and || or operators?
What does | (pipe) mean in c#?
我有一些代码是由办公室中的另一个开发人员编写的,但现在还没有。我有一些关于他的代码的工作要做,但是我以前没有昏迷过。我试着在这里搜索,但它把我的从搜索行中删除了。我也不知道这个符号的名字是什么,所以不能像这样搜索它。
1 | this.Action.Values[key] = (int)this.Action.Values[key] | 1; |
我的问题是,在这种情况下,单人房是做什么的?
酒吧(或管道),
1 2 3 4 5 6 7 8 9 | [Flags] public enum WindowFlags { None = 0, Movable = 1, HasCloseBox = 2, HasMinimizeBox = 4, HasMaximizeBox = 8 } |
使用按位或运算符,我们可以组合标志,从而:
1 | WindowFlags flags = WindowFlags .Movable | WindowFlags .HasCloseBox | WindowFlags .HasMinimizeBox; |
我们可以"测试"给定的标志,使用:
1 | bool isMovable = (flags & WindowFlags .Movable); |
移除旗子对眼球来说是一种更大的压力:
1 | flags &= ~WindowFlags.HasCloseBox; // remove HasCloseBox flag |
这些是按位运算。
例子
1 2 3 4 5 6 7 8 9 10 | 011000101 | 100100100 ----------- = 111100101 011000101 & 100100100 ----------- = 000000100 |
单个是位或运算符
二进制运算符是为整型和bool预定义的。对于整数类型,计算其操作数的位或。对于布尔操作数,计算其操作数的逻辑或;也就是说,如果且仅当两个操作数都为假,则结果为假。
http://msdn.microsoft.com/en-us/library/kxszd0xx(v=vs.100).aspx
管道""是位或运算符:http://msdn.microsoft.com/en-us/library/kxszd0kx.aspx
我相信这是一个位运算符。请参阅http://en.wikipedia.org/wiki/bitwise_operation。
| --> logical/bitwise OR
& -- > logical/bitwise AND
http://en.wikipedia.org/wiki/bitwise_操作
&;=位与=按位或
这个运算符只表示
Binary | operators are predefined for the integral types and bool. For
integral types, | computes the bitwise OR of its operands. For bool
operands, | computes the logical OR of its operands; that is, the
result is false if and only if both its operands are false.
这里参考
在C中查看这里的所有运算符#