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的映射,我发现您的解决方案非常棒:)的副本,但它返回一个字符串,不是字符,但它返回的是字符串,不是字符