更新:2007 年 11 月

错误消息

无法从迭代器返回值。请使用 yield return 语句返回值,或使用 yield break 语句结束迭代。

迭代器是一个特殊的函数,它通过 yield 语句而不是 return 语句返回值。有关更多信息,请参见迭代器

下面的示例生成 CS1622:

 复制代码
// CS1622.cs
// compile with: /target:library
using System.Collections;

class C : IEnumerable
{
   public IEnumerator GetEnumerator()
   {
      return (IEnumerator) this;  // CS1622
      yield return this;   // OK
   }
}