Вопрос

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