我注意到在C#中使用byte
s上的按位異或運算符有一些奇怪的地方。至少奇怪我的想法。C#異或運算符:^ vs^=和隱式類型轉換
byte a = 0x11;
byte b = 0xAA;
a ^= b; // works
a = a^b; // compiler error: Cannot implicitly convert type "int" to "byte"
我也看到使用short
這個問題,但沒有int
或long
。
我認爲最後兩行是相同的,但似乎並非如此。這裏發生了什麼?
我同意這看起來很奇怪。儘管如此,@ matthew-flaschen釘了它。 – kbrimington 2010-07-29 21:03:23