string myString = String.Empty;double myValue = double.Parse(myString);
抛出FormatException(我期望0.0).
如果我用2.0重写它
string myString = String.Empty;double myValue;if (double.TryParse(myString,out myValue)) //do something
我得到了想要的0.0,但不幸的是我失去了获得有意义的错误消息的可能性(在else树中).
为什么给我解析错误和TryParse我的期望值?
有没有办法从TryParse中获取错误消息(时间不是问题)?
我不想那样解决它:
>使用if … then避免错误
myValue = myString.Length == 0 ? 0.0 : double.Parse(myString);
>如果发生错误,则发出两次通话
if (!double.TryParse(myString,out myValue)) myValue = double.Parse(myString);解决方法 如果无法解析字符串并且TryParse返回bool,则Parse会抛出异常.您可以处理此bool(如果解析成功,则为true,否则为false)以显示您要显示的成功/错误消息.
由于myValue是一个out参数,它必须由方法设置,因此,如果无法解析字符串,TryParse将其设置为0.0,这就是为什么在使用TryParse方法时获得该数字的原因.
总结以上是内存溢出为你收集整理的c# – 使用(Try)Parse将字符串空为Double全部内容,希望文章能够帮你解决c# – 使用(Try)Parse将字符串空为Double所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)