如果我想返回输入集合,在迭代器块中使用 return 语句而不是 foreach 的最聪明的方法是什么?
public IEnumerable<T> Filter(IEnumerable<T> collection)
{
if (someCondition)
{
// return collection; - cannot be used because of "yield" bellow
foreach (T obj in collection)
{
yield return obj;
}
yield break;
}
yield return new T();
}