避免尝试捕获使用tryparse而不是解析
作者:互联网
在我的代码中的很多地方,我都有:
try
{
price = double.Parse(sPrice.Replace(",", "."), CultureInfo.InvariantCulture);
}
catch
{
price = 0;
}
我在某处读到,如果在try块中引发了异常,则要花费很多时间.
因此,我想使用tryparse而不是parse,如下所示:
if (!double.TryParse(sPrice, out price))
{
price = 0;
}
这是一个好习惯吗?会花费更少的时间吗?
解决方法:
是的,TryParse更快.
但是,对我来说,这听起来像是过早的优化,除非您期望在包含许多无效输入字符串的紧密循环中调用Parse.
您应该选择的不是取决于速度,而是取决于要求和期望获得的数据类型.另外,考虑另一种选择:Convert.ToDouble
标签:try-catch,c,parsing 来源: https://codeday.me/bug/20191031/1973761.html