我在While循环中逐行读取文本文件。当我到达特定的行时,我想跳过当前和接下来的3次迭代。

我想我可以使用计数器之类的东西做到这一点。但是我想知道是否还有更优雅的方法?

using (var sr = new StreamReader(source))
{
    string line;
    while ((line = sr.ReadLine()) != null)
    {
        if (line == "Section 1-1")
        {
            // skip the next 3 iterations (lines)
        }
    }
}

最佳答案

有一个for循环执行sr.ReadLine 3次并丢弃结果,例如:

using (var sr = new StreamReader(source))
{
    string line;
    while ((line = sr.ReadLine()) != null)
    {
        if (line == "Section 1-1")
        {
            for (int i = 0; i < 3; i++)
            {
                sr.ReadLine();
            }
        }
    }
}


您应检查sr.ReadLine返回null或流是否已结束。

关于c# - 如何在while循环中跳过多个迭代,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25691538/

10-13 22:06