答案是使用ToString("X")方法可将整数转为大写十六进制字符串,如255转为"FF";用"0x"+ToString("X")添加前缀,用ToString("X4")补零至四位,负数会输出补码形式。

在 C# 中,将一个整数转换为十六进制字符串非常简单,可以通过内置的方法快速实现。下面介绍几种常用的方式。
使用 ToString("X") 方法
这是最常用的方法。调用整数的 ToString("X") 方法可以将其转换为大写十六进制字符串,使用 "x" 则生成小写。
- ToString("X"):输出大写十六进制(如:FF)
- ToString("x"):输出小写十六进制(如:ff)
示例代码:
int number = 255;
string hexUpper = number.ToString("X"); // 结果:"FF"
string hexLower = number.ToString("x"); // 结果:"ff"
添加前缀 "0x"(常用格式)
如果想让结果看起来像标准的十六进制表示(例如 0xFF),可以手动加上前缀。
示例:
int number = 255;
string hexWithPrefix = "0x" + number.ToString("X"); // 结果:"0xFF"
控制位数(补零)
有时需要固定位数,比如显示为 4 位十六进制数(如 00FF),可以在格式字符串中指定最小宽度。
示例:
int number = 255;
string hex4Digit = number.ToString("X4"); // 结果:"00FF"
说明:X4 表示至少 4 位大写十六进制数,不足前面补零。处理负数
对于负数,ToString("X") 会输出其补码形式(很长的一串十六进制),这通常是正确的底层表示。
示例:
int negativeNumber = -1;
string hexNegative = negativeNumber.ToString("X"); // 结果:"FFFFFFFF"
如果你只关心绝对值的十六进制,可以先取绝对值或转为无符号类型处理。
基本上就这些。C# 提供了灵活又简单的方法来完成整数到十六进制字符串的转换,根据实际需求选择大小写、是否加前缀、是否补零即可。不复杂但容易忽略细节。










