だらだらやるよ。

こげつのIT技術メモ

イテレータ

foreachできるようなクラス作るときの実装を簡単にしましょうってな感じです
今までだったらCollectionsクラスを継承したりとかIEnumeratorインタフェースを実装したりしなきゃ駄目だったのですが
以下のように簡単にかけます。

private IEnumerable<string> Test() {
	yield return "1個目";
	yield return "2個目";
	yield return "3個目";
}
static void Main(){
	foreach(string st in Test()) {
		Console.WriteLine(st);
	}
}

yield return が毎回値を返してくれるというわけですね
もちろんループでまわして一個ずつ返すのもありですよー
これはまだそんなに使っていないので、またそのうちまとまったら書きます