Why does xor'ing two ushort values not return a ushort? [duplicate]
-
06-07-2021 - |
Question
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?)
Solution
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.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow