C#で自作したクラスをforeach文で呼び出す

  • Day:2011.12.22 11:09
  • Cat:C#
自作したクラスをforeach文で呼び出したい場合は、
GetEnumeratorメソッドを実装します。

例えば、マップに配置されているパーツを管理するクラスがあり、
これらのパーツをマップクラスのインスタンスを通して
foreach文で呼び出す場合は以下のようになります。


class Map
{
private int[] parts = { 0, 1, 2 };

public IEnumerator<int> GetEnumerator()
{
foreach (int part in this.parts)
{
yield return part; // ここでパーツを返す
}
}
}

Map map = new Map();

foreach (int part in map)
{
Console.WriteLine(part);

// 出力
// 0
// 1
// 2
}
Effective C# 4.0
スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。