UNe*_*rNo 3 c# double parsing tryparse
我在这里使用Parse构建系统,使用Parse转换值(现在是3.5).
string myString = String.Empty;
double myValue = double.Parse(myString);
Run Code Online (Sandbox Code Playgroud)
抛出FormatException(我期望0.0).
如果我用2.0+重写它
string myString = String.Empty;
double myValue;
if (double.TryParse(myString, out myValue))
//do something
Run Code Online (Sandbox Code Playgroud)
我得到了想要的0.0,但不幸的是我失去了获得有意义的错误消息的可能性(在else树中).
为什么给我解析错误和TryParse我的期望值?有没有办法从TryParse中获取错误消息(时间不是问题)?
我不想那样解决它:
使用if ... then避免错误
myValue = myString.Length == 0 ? 0.0 : double.Parse(myString);
Run Code Online (Sandbox Code Playgroud)如果发生错误,则发出两次电话
if (!double.TryParse(myString, out myValue))
myValue = double.Parse(myString);
Run Code Online (Sandbox Code Playgroud)Parse如果无法解析字符串并TryParse返回a,则抛出异常bool.您可以处理此bool(如果解析成功,则为true,否则为false)以显示您要显示的成功/错误消息.
由于myValue是一个out参数,它必须由方法设置,因此,如果无法解析字符串,TryParse将其设置为0.0,这就是为什么在使用TryParse方法时获得该数字的原因.
| 归档时间: |
|
| 查看次数: |
11199 次 |
| 最近记录: |