我在哪里可以了解C#中普查员的来龙去脉?

Nib*_*Pig 7 .net c# ienumerable

是否有一个很好的资源可以解释枚举器和自定义枚举器的概念?特别是有一个很好的例子,说明为什么你想要IEnumerable自己实现以及如何有效地使用它?

我偶尔会碰到yield,我正试图更好地理解它.

lep*_*pie 8

最简单的例子:

IEnumerable<string> GetNames()
{
  yield return "Bob";
  yield return "Bob's uncle";
  yield return "Alice";
  yield return "Stacy";
  yield return "Stacy's mom";
}
Run Code Online (Sandbox Code Playgroud)

用法:

foreach (var name in GetNames())
{
  Console.WriteLine(name);
}
Run Code Online (Sandbox Code Playgroud)

要查看它的运行情况,请在GetNames方法的每一行上放置一个调试器断点.