大家好,我正在尝试将以下内容从VB.NET转换为C#,我收到语法错误。
VB.NET:
Dim CurrentCRC As UInt16
CurrentCRC = &HFFFF
CurrentCRC = Not CurrentCRC
C#:
UInt16 currentCRC = default(UInt16);
currentCRC = 0xFFFF;
currentCRC = !currentCRC;
最后一行给出了
的语法错误运营商'!'无法应用 'ushort'类型的操作数
任何帮助将不胜感激!
答案 0 :(得分:8)
如果您正在寻找按位NOT运算符(即翻转值中的每一位的运算符),请使用~
。 !
是逻辑NOT运算符(对于布尔逻辑)。
答案 1 :(得分:1)
!
是布尔NOT
运算符,即它只能应用于布尔值。如果您想要按位NOT
使用~
。
答案 2 :(得分:1)
如果您想要按位补码,请使用~
operator。
在c#中,!
仅对否定布尔值有效。