我有以下代码:

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;

08-03 21:01