可能重复:
C# XOR on two byte variables will not compile without a cast
为什么我在这个C#代码中出现编译错误?
void test()
{
ushort a = 0;
ushort b = 0;
ushort c = a ^ b; //ERROR
}
错误CS0266:无法将类型'int'隐式转换为'ushort'。存在显式转换(您是否错过了演员?)
答案 0 :(得分:3)
看看这个:C# XOR on two byte variables will not compile without a cast
基本上,对于位运算符,任何小于int的操作数都会自动转换为int。