在try parse失败后保持默认值
本文关键字:默认值 失败 try parse | 更新日期: 2023-09-27 18:09:36
我有这样的代码:
string myStr = "sdfs";
double myDouble = 3;
double.TryParse(myStr, out myDouble);
因此解析将失败,并且我分配给"myDouble"的值将更改为0。
是否有一个很好的方法来保持3的默认值,即使解析失败?没有像
这样的if子句if(!double.TryParse(myStr, out myDouble))
{
myDouble = 3;
}
这仍然是一个if子句,但行数更少。
string myStr = "sdfs";
double myDouble = Double.TryParse(myStr, out myDouble) ? myDouble : 3;
唯一的方法就是这样做:
string myStr = "sdfs";
double myDouble;
double myDoubleDefaultValue = 3;
if (!double.TryParse(myStr, out myDouble))
{
myDouble = myDoubleDefaultValue;
}
原因是,对于out变量,方法必须在完成之前赋值。