开发者

Operator ! can't be applied to operand ushort [duplicate]

This question already has answers here: Closed 11 years ago.

Possible Duplicate:

How do you return 'not uint' in C#?

Hi Everyone, I'm trying to convert the following from VB.NET to C# and I'm getting a syntax error.

VB.NET:

开发者_运维技巧
Dim CurrentCRC As UInt16
CurrentCRC = &HFFFF
CurrentCRC = Not CurrentCRC

C#:

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

The last line is giving me the syntax error of

Operator '!' cannot be applied to operand of type 'ushort'

Any help would be appreciated!


If you're looking for the bitwise NOT operator (i.e. the one that flips every bit in the value), use ~. ! is the logical NOT operator (for boolean logic).


! is the boolean NOT operator, i.e., it may only be applied to booleans. If you want a bitwise NOT use ~.


If you want a bitwise complement, use the ~ operator.

In c#, ! is only valid for negating booleans.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜