c#中的1位十六进制转换?

c#中的1位十六进制转换?,c#,hex,C#,Hex,我想将0-15范围内的Int32转换为十六进制的相应char。一个真正的虚拟解决方案是书面形式 var hex = new[] {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; var myCharInHex = hex[myValue]; 然而,这个解决方案看起来显然是错误的,有更好的建议吗?适合您的确切规格,但我个人会这样做: private

我想将
0-15
范围内的
Int32
转换为十六进制的相应
char
。一个真正的虚拟解决方案是书面形式

var hex = new[] {'0', '1', '2', '3', '4', '5', '6', '7', 
                 '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
var myCharInHex = hex[myValue];

然而,这个解决方案看起来显然是错误的,有更好的建议吗?

适合您的确切规格,但我个人会这样做:

private static readonly char[] HexDigits = "0123456789abcdef".ToCharArray();

这适用于您的确切规格,但我个人会这样做:

private static readonly char[] HexDigits = "0123456789abcdef".ToCharArray();

这个简单的代码必须工作:

string hexValue = myValue.ToString("X");

这个简单的代码必须工作:

string hexValue = myValue.ToString("X");

如果您完全确定int始终在该范围内,并且想要int->char的映射,我发现您的解决方案非常棒:)的副本如果您完全确定int始终在该范围内,并且想要int->char的映射,我发现您的解决方案非常棒:)的副本,但它返回一个字符串,不是字符,但它返回的是字符串,不是字符