Possible Duplicate:
C# XOR on two byte variables will not compile without a cast

Why do I get a compile error in this C# code?

void test()
{
   ushort a = 0;
   ushort b = 0;
   ushort c = a ^ b; //ERROR
}

error CS0266: Cannot implicitly convert type 'int' to 'ushort'. An explicit conversion exists (are you missing a cast?)

有帮助吗?

解决方案

Take a look at this: C# XOR on two byte variables will not compile without a cast

Basically, with bit operators, any operand smaller than an int is automatically converted up to an int.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top