C# 2.0:Iterators と yield return

posted on 2005年8月30日 0:07 投稿者 Elfaria

今回新しくなったC# 2.0(.NET Framework 2.0 / VS 2005)の新機能(?)です。

Iterators(イテレータ)を使うことで、列挙型を簡単に実装することができるようになるとのこと。

私はVBメインなのであまりC#で開発したことがないのでよくわからないのですが…

IEnumeable で列挙型を実装した場合、for each 文でループさせた場合の状態を管理する必要があったようで…。
それが、Iteratorsを使うことによって簡単に実装できるようです。
for each で状態制御を書かなくても、yield return 文を書くことによって、きちんと値を順番に返してくれるようです。

以下、サンプルっぽいもの。

Class Sample01
{

void main()
{
   foreach (String s in Sample01.GetEnum())
   {
      Console.WriteLine(s);
   }
}

public static IEnumeable GetEnum()
{
   yield return "x86";
   yield return "ia64";
   yield return "sparc";
   yield return "PowerPC";
}

}

うーむ。VBな自分にはC#は難しかったか…

コメント