为什么在此 C# 代码中出现编译错误?
void test()
{
ushort a = 0;
ushort b = 0;
ushort c = a ^ b; //ERROR
}
错误 CS0266:无法将类型“int”隐式转换为“ushort”。存在显式转换(您是否缺少演员表?)
为什么在此 C# 代码中出现编译错误?
void test()
{
ushort a = 0;
ushort b = 0;
ushort c = a ^ b; //ERROR
}
错误 CS0266:无法将类型“int”隐式转换为“ushort”。存在显式转换(您是否缺少演员表?)
看看这个:C# XOR on two byte variables will not compile without a cast
基本上,使用位运算符,任何小于 int 的操作数都会自动转换为 int。