使用以下任一方法从对象中提取替身的优缺点是什么?除了个人喜好之外,我正在寻求反馈的问题还包括易于调试、性能、可维护性等。
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;
}
}
最佳答案
TryParse
会比捕获异常更快TryParse
指示某些预期 - 这里没有发生异常,只是您怀疑您的数据可能无效。TryParse
没有对正常控制流使用异常处理
基本上,使用 TryParse
:)
顺便说一下,您的代码可以重写为:
public static double GetDouble(object input, double defaultVal)
{
double parsed;
return double.TryParse(input.ToString(), out parsed)) ? parsed : defaultVal;
}
关于c# - TryCatch 与 TryParse 的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2431836/