2013-10-31 68 views

回答

3

這是按位或運算符,它確實喜歡1 2個值之間的數字或運算具有二進制值0001和2具有二進制值0010,因此,如果你寫1 | 2,那麼它將返回0011值是3。

對於bool,它的布爾OR,即提供虛假僅當兩個操作數是錯誤的。

它針對布爾和整數類型定義。它也可以爲用戶定義的類型重載。看看這裏msdn

+0

所以怎麼樣布爾B =假|真正; ? –

+1

爲布爾變量,它是假的,如果這兩個值是假的,否則其真正 – Marco

+0

@Serv實際上是相同的二進制規則。您可以構建兩個內部值爲1和2的布爾值,當ANDed結合爲false時。這很少見,因爲C#不允許你控制它,但IL確實如此。 – usr

1

位或

1 = 0000 0001 
2 = 0000 0010 
1|2 = 0000 0011 

或表

A B A|B 
0 1 1 
0 0 0 
1 0 1 
1 1 1 

使用案例

位或用於設置所述特定的位。

例子: 假設我們有設置位2 0000 0001

0000 0001 | 0000 0100 = 0000 0101

+0

bool b = false |真的嗎? –

+0

False | True = True – vikky

1

由於整數的問題是已經回答:

對於bool值,比如bool x = true | falsex is true

它是假的,如果兩個operants都是假的,只有兩者。一切[C#中逐位操作]返回true

true | false => true 
false | true => true 
true | true => true 

false | false => false