为什么continue放在yieldreturn之后?

Why is continue placed after yield return?

我无意中发现了这段代码:

public IEnumerable<object> Process()
{
    foreach (var item in items)
    {

        if (item.Created < DateTime.Now)
        {   
            yield return item;
            continue;
        }
    }
}

谁能帮我理解为什么 continue 在这种情况下不是不必要的(VS 没有将 continue 标记为冗余控制流跳转语句)?

yield return 将 return 一个项目作为枚举器的一部分。一旦调用方法请求下一个项目,代码将在 yield return.

之后的行上重新启动

在这种特殊情况下,continue 是多余的,因为在该点之后循环将不再做任何进一步的工作。但作为一个通用的应用程序,它有很多用途。