我正在用C#.net开发一个应用程序。我必须做一个快速的十六进制到二进制转换。我所做的是......
rtpPTypeNum = string.Join(string.Empty, udp.Payload.ToHexadecimalString().Substring(2, 2).Select(C => Convert.ToString(Convert.ToInt32(C.ToString(), 16), 2).PadLeft(4, '0'))).Substring(1, 7);
我已经检查了它的性能,但这对我来说还不够好。
udp.Payload.ToHexadecimalString()
返回一个十六进制数字字符串。
在这次转换中,我必须做大约9000次迭代。
你能给我一个更好的方法吗?
答案 0 :(得分:9)
Google的最高成绩给了我:
return Convert.ToString(Convert.ToInt32(hexValue, 16), 2);
答案 1 :(得分:1)
如果您希望自己的号码很长,可以试试这个 Convert.ToString(Convert.ToInt64(hexstring,16),2);