C#版Iterator

Javaでいうところの Iteratorに相当するものが,C#では IEnumerator らしい.

たとえば,1/24に書いた例をC#で書くなら,


// ユーザ一覧を作成します
ArrayList users;
users.Add(new User(…));

// ユーザ一覧を表示します
IEnumarator e = users.getEnumerator();

while(e.MoveNext()){
Console.WriteLine( (User)(e.Current()).getName());
}

でも結局 foreach文使えよってことですな.


// ユーザ一覧を表示します
foreach (User user in users)
{
Console.WriteLine(user.getName());
}