有没有办法int在C#中使用十六进制文字设置为负值?我查看了Integer文字的规范,但没有提到任何内容.
例如:
int a = -1; // Allowed
int b = 0xFFFFFFFF; // Not allowed?
Run Code Online (Sandbox Code Playgroud)
我的应用程序的十六进制表示法更清晰,我宁愿不使用uints,因为我需要做一些额外的转换.
Mik*_*son 25
使用unchecked关键字.
unchecked
{
int b = (int)0xFFFFFFFF;
}
Run Code Online (Sandbox Code Playgroud)
甚至更短
int b = unchecked((int)0xFFFFFFFF);
Run Code Online (Sandbox Code Playgroud)