相关文章推荐
踢足球的红豆  ·  在Excel ...·  11 月前    · 
温暖的消炎药  ·  Macbook ...·  1 年前    · 
买醉的闹钟  ·  Python ...·  1 年前    · 
怕老婆的扁豆  ·  sklearn-GridSearchCV,C ...·  2 年前    · 
    public class PersonEnumerator : IEnumerable<PersonModel>
        public List<PersonModel> people { get; set; }
        // 实现 IEnumerable<T>的 IEnumerator<T> GetEnumerator()方法
        IEnumerator<PersonModel> IEnumerable<PersonModel>.GetEnumerator()
            return ((IEnumerable<PersonModel>)people).GetEnumerator();
        // 由于IEnumerable<out T> : IEnumerable,所以还需要实现 IEnumerable的 IEnumerator GetEnumerator();
        IEnumerator IEnumerable.GetEnumerator()
            return people.GetEnumerator();

3 测试使用自定义的可枚举类

        static void Main(string[] args)
            PersonEnumerator personEnumerator = new PersonEnumerator { people = new List<PersonModel> { new PersonModel { price = 10 }, new PersonModel { price = 25 } } };
            foreach(var t in personEnumerator)
                Console.WriteLine(t.price);
            Console.ReadKey();

4 测试结果