如何避免while循环代码重复?

3
string s = Console.ReadLine();
while(s != null)
{
    // do something 
    //   ....
    s = Console.ReadLine(); 
}

上述代码的作用是获取输入,验证它,处理它,然后再次输入,但显然,“s = Console.ReadLine();”是重复的代码。
有哪些技巧可以避免重复?

这是while语句的典型模式,除非你使用while(true) - undefined
1
这是哪种语言?大多数语言都支持do-while循环,在这种情况下非常有用。 - undefined
2个回答

2

根据语言,你通常可以像这样做:

while (s = Console.ReadLine())
{
    ...
}

Console.ReadLine() 不会返回一个布尔值。 - undefined
2
这很明确地被描述为一种与语言无关的答案。如果Java确实是目标语言,那么可以很容易地通过使用while (null != (s = Console.ReadLine())进行修改。 - undefined

2
在Python中(没有do-while循环来确保至少执行一次),技巧是使用一个带有显式break的无限循环。
while( true )  // Or whatever evaluates to true unconditionally
{
    s = Console.ReadLine();
    if (s == null) {
        break;
    }
    // do something
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接