更新: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
}
}