ArrayList对象al:
foreach (object o in al)
{
Console.WriteLine(o.ToString());
}
而该语句的实质就是使用了迭代器:
IEnumerator e = al.GetEnumerator();
while (e.MoveNext())
{
Console.WriteLine(e.Current.ToString());
}
然而,我们通过.Net中的集合对象来分析Iterator模式,仍然是有意义的。一方面它可以帮助我们了解这个模式的实现原理;另一方面,通过Iterator模式将具体的集合对象与迭代器分开的设计方式,也可以促进我们对OOD中,有关“职责分离”的理解。
本文链接:《.Net中的设计模式——Iterator模式》