Why does xor'ing two ushort values not return a ushort?

833 views Asked by At

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?)

1

There are 1 answers

1
dbattaglia On BEST ANSWER

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.