プロパティでコルーチン
プロパティでコルーチンを定義するサンプルです。
using System; using System.Collections.Generic; using System.Linq; class Test { public IEnumerable<int> G { get { int n = 0; while (true) { yield return n++; } } } } class Program { static void Main() { Console.WriteLine(string.Join(" ", new Test().G.Take(5))); //=> 0 1 2 3 4 } }
実行結果です。
0 1 2 3 4