如果您选择使用通用集合(例如
List<MyObject>而不是)
ArrayList,则会发现
List<MyObject>会同时提供您可以使用的通用和非通用枚举器。
using System.Collections;class MyObjects : IEnumerable<MyObject>{ List<MyObject> mylist = new List<MyObject>(); public MyObject this[int index] { get { return mylist[index]; } set { mylist.Insert(index, value); } } public IEnumerator<MyObject> GetEnumerator() { return mylist.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); }}


