C#で自作したクラスをforeach文で呼び出す
- Day:2011.12.22 11:09
- Cat:C#
GetEnumeratorメソッドを実装します。
例えば、マップに配置されているパーツを管理するクラスがあり、
これらのパーツをマップクラスのインスタンスを通して
foreach文で呼び出す場合は以下のようになります。
class Map
{
private int[] parts = { 0, 1, 2 };
public IEnumerator<int> GetEnumerator()
{
foreach (int part in this.parts)
{
yield return part; // ここでパーツを返す
}
}
}
Effective C# 4.0
Map map = new Map();
foreach (int part in map)
{
Console.WriteLine(part);
// 出力
// 0
// 1
// 2
}
スポンサーサイト