我试过了

string inpStr = "800000000000000026FFF40000000000";
long num = long.Parse(inpStr, NumberStyles.HexNumber);


并收到错误“对于Int64,值太大或太小”。如果我使用16位十六进制,则可以正常工作。如何使其与32位十六进制值一起使用?

最佳答案

32位十六进制数字不适合long(它是64位,因此最多可以容纳16位十六进制值)

在.NET 4.0中,您可以使用BigInteger:

const string inpStr = "800000000000000026FFF40000000000";
BigInteger num =
      BigInteger.Parse(inpStr, System.Globalization.NumberStyles.HexNumber);

10-06 09:43