c# - 在 C# 中使用十六进制文字将整数设置为负值

标签 c# hex integer

有没有办法在 C# 中使用十六进制文字将 int 设置为负值?我检查了 Integer literals 上的规范但它没有提到任何东西。

例如:

int a = -1;         // Allowed
int b = 0xFFFFFFFF; // Not allowed?

十六进制表示法对我的应用程序来说更清晰,我不希望使用 uint,因为我需要做一些额外的转换。

最佳答案

使用未选中的关键字。

unchecked
{
   int b = (int)0xFFFFFFFF;    
}

甚至更短

int b = unchecked((int)0xFFFFFFFF);

关于c# - 在 C# 中使用十六进制文字将整数设置为负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2120512/

相关文章:

c# - 是否可以在 AfterMap 中调用 Mapper.Map?

c# - 在 WP 8 (C#) 中调用 WinRT 组件时出现 System.IO.FileNotFoundException 错误

java - 如何将数据传输到连接的蓝牙 LE 设备

delphi - 查找十进制编码十六进制值的正确公式

java - 从文件中读取一列整数值后获取零

python - 检查输入是否是循环中的字符串

c# - LINQ最适用于哪些场景?

c# - linq如何通过在查询中加入和分离where来nhibernate

python - 提取十六进制编码字符串的一部分

负整数的 Python 表示