2016-12-19 101 views
0

这其中有我的疑惑 - 任何人有任何想法,为什么失败long.TryParse失败的十六进制值,最高最低限度内

long ticks; 
if (long.TryParse("8D28457EDF638CG", NumberStyles.HexNumber, CultureInfo.InvariantCulture, out ticks) == false) 
    throw Exception <---- this line gets hit 

这是转换值,最大值和最小值上我系统;

计算值:39732250662626188

最大:9223372036854775807

敏:-9223372036854775808

编辑: 当8D28457EDF638CG被粘贴到其计算值简单地去掉 'G'

回答

4
"8D28457EDF638CG" 

不是有效的十六进制数字。 “G”不是十六进制数字。

+0

我感觉有些人在SO上输入时可以看到问题:)。 – Igor

+0

@Igor从websocket得到它,我是一个很好的打字员:) – BradleyDotNET

+0

发现!我不知道为什么它会这样失败 –