yield returnの使い方の一例を教えていただいたのでメモ。
WIndowsフォームアプリケーションなどでフォーム上のコントロールを全て取得したいときなど。
public IEnumerable<Control> GetAllCollection()
{
foreach(Control ctrl in Controls)
{
yield return ctrl;
}
}
再帰呼び出しは下記の記事を応用すれば可能。
mseeeen.msen.jp