Vij*_*esh 11 .net c# try-catch tryparse
使用以下任一方法从对象中拉出双精度的优缺点是什么?除了个人偏好之外,我正在寻找反馈的问题包括易于调试,性能,可维护性等.
public static double GetDouble(object input, double defaultVal)
{
try
{
return Convert.ToDouble(input);
}
catch
{
return defaultVal;
}
}
public static double GetDouble(object input, double defaultVal)
{
double returnVal;
if (double.TryParse(input.ToString(), out returnVal))
{
return returnVal;
}
else
{
return defaultVal;
}
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 19
TryParse 将比捕获异常更快TryParse表示预期的事情- 这里没有例外,只是你怀疑你的数据可能无效.TryParse 没有对正常控制流使用异常处理基本上,去TryParse:)
顺便说一下,您的代码可以重写为:
public static double GetDouble(object input, double defaultVal)
{
double parsed;
return double.TryParse(input.ToString(), out parsed)) ? parsed : defaultVal;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3987 次 |
| 最近记录: |