2012-09-12 143 views
1


在一個例子中,我看到了這些運算符(| =和& =),但沒有解釋。 我在谷歌上看到它,但我發現只有「經典」=運營商相關的結果。
所以我想知道這些操作員在做什麼。有人可以向我解釋嗎?

C#| =和&=運營商

+9

['| ='運算符(C#參考)](http://msdn.microsoft.com/zh-cn/library/h5f1zzaw.aspx) – CodesInChaos

+0

嘗試搜索'C#運算符'。 – RedFilter

回答

6

他們就像+=只是速記任務。以下是等效的:

s |= t; 
s = s | t; 

而且這些也是等同的。

s &= t; 
s = s & t; 

有關的經營者的更多信息,你可以看到|&運營商的MSDN文檔。

+0

哇!這很快!感謝您的解釋和鏈接;-)對不起,這個noob問題。 – josefpospisil0

+1

它們並不完全等同。 '| ='運算符將確保左側僅被評估一次,而不是兩次。儘管它們不完全一樣,但它仍然是將其概念化的適當方式。 – Servy

+0

@Servy:謝謝你指出。即使潛在的OP代碼可能略有不同,它們在功能上是不是等同? – mellamokb

0

以及&=就像i+=一樣的,換句話說

x&=2x=x & 2

1

它們執行按位或--操作和按位與 - &=操作,結果存儲在lValue中。它們與|&相同,但將結果存儲在lValue中,類似於++=--=之間的差異。