在1个语句中解析2个double值 - C#

时间:2016-07-25 10:49:07

标签: c#

如何在1个语句中解析2个double值而不是2个if语句?

我的代码:

double a, b;
while (true)
{
    if (Double.TryParse(Console.ReadLine(), out a))
    {
    }
    else
    {


        continue;
    }

    if (Double.TryParse(Console.ReadLine(), out b))
    {

    }
    else
    {

        continue;
    }
    break;
}

我已经搜索过了,但没有找到任何好结果

2 个答案:

答案 0 :(得分:6)

这样的事情:

if (Double.TryParse(Console.ReadLine(), out a) 
    && Double.TryParse(Console.ReadLine(), out b))
{

}
else
{

    continue;
}

请注意,只有在成功解析了两个值时才输入if块。

答案 1 :(得分:0)

此处if是多余的,您不需要它,并且使用不必要的continue会降低代码的可读性。

double a, b;
while (!(double.TryParse(Console.ReadLine(), out a) &&
         double.TryParse(Console.ReadLine(), out b))
{
}

//a and b successfully parsed.