我在使用LinqPad时注意到了一个奇怪的问题,我在Visual Studio测试代码单元测试中得到了相同的结果。这与数字数据类型中的所有不同的TryParse有关。在这个过程中,我注意到double.TryParse的行为与其他函数略有不同。
例如:
var doubleStr = double.MinValue.ToString();
//doubleStr = -1.79769313486232E+308
double result;
var result = double.TryParse(doubleStr, out result);
//result is returning false
所有具有MinValue的其他数据类型没有这个问题:
var floatStr = float.MinValue.ToString();
//floatStr = -3.402823E+38
float result2;
float.TryParse(floatStr, out result2);
//result = True
有人知道为什么double类型是唯一无法将其MinValue属性的字符串版本解析回实际double类型的吗?
我不太清楚这个问题的区别,也许我漏看了什么。