解析1个语句中的2个双值-C#

本文关键字:-C# 2个 1个 语句 解析 | 更新日期: 2023-09-27 17:58:27

如何在1个语句中解析2个双值而不是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;
}

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

解析1个语句中的2个双值-C#

类似这样的东西:

if (Double.TryParse(Console.ReadLine(), out a) 
    && Double.TryParse(Console.ReadLine(), out b))
{
}
else
{
    continue;
}

请注意,只有在成功解析了这两个值的情况下,才会输入if块。

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

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