操作人员可以';t应用于操作数ushort

本文关键字:应用于 操作数 ushort 操作 | 更新日期: 2023-09-27 17:58:13

可能重复:
如何返回';不是uint';在C#中?

大家好,我正在尝试将以下内容从VB.NET转换为C#,但我遇到了语法错误。

VB。NET:

Dim CurrentCRC As UInt16
CurrentCRC = &HFFFF
CurrentCRC = Not CurrentCRC

C#:

UInt16 currentCRC = default(UInt16);
currentCRC = 0xFFFF;
currentCRC = !currentCRC;

最后一行是的语法错误

操作员"!"无法应用于类型为"ushort"的操作数

任何帮助都将不胜感激!

操作人员可以';t应用于操作数ushort

如果您正在寻找逐位NOT运算符(即翻转值中每一位的运算符),请使用~!是逻辑NOT运算符(用于布尔逻辑)。

!是布尔型NOT运算符,即它只能应用于布尔型。如果您想要按位NOT,请使用~

如果想要逐位补码,请使用~运算符。

在c#中,!仅对布尔值的否定有效。