我需要对一个16位整数(ushort/UInt16)进行按位左移操作,但是C#中的按位运算符似乎只适用于int(32位)。我该如何在ushort上使用<<,或者至少通过简单的解决方案获得相同的结果?
ushort value = 1; ushort shifted = (ushort)(value << 2);
<<
value
uint
int
<<
运算符中,value
会被隐式转换为uint
吗? - xtoflint
。还要注意,在这种情况下以及许多类似情况下,两种方式得到的结果都是相同的。 - Jon Hanna