C# 通过实现IEnumerable接口实现自定义的可枚举类

2021-03-30 09:27

阅读:434

标签:one   list   lazy   ret   style   each   nbsp   console   string   

1 定义PersonModel类

    public class PersonModel
    {

        public String Id { get; set; }

        public String UserCode { get; set; }

        public String UserName { get; set; }

        public String Age { get; set; }

        public String Score { get; set; }

        public int price { get; set; }

    }

2 定义 IEnumerable可枚举类

    public class PersonEnumerator : IEnumerable
    {
        public List people { get; set; }

        // 实现 IEnumerable的 IEnumerator GetEnumerator()方法
        IEnumerator IEnumerable.GetEnumerator()
        {
            return ((IEnumerable)people).GetEnumerator();
        }

        // 由于IEnumerable : IEnumerable,所以还需要实现 IEnumerable的 IEnumerator GetEnumerator();
        IEnumerator IEnumerable.GetEnumerator()
        {
            return people.GetEnumerator();
        }
    }

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

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

4 测试结果

技术图片

 

C# 通过实现IEnumerable接口实现自定义的可枚举类

标签:one   list   lazy   ret   style   each   nbsp   console   string   

原文地址:https://www.cnblogs.com/tomorrow0/p/13585248.html


评论


亲,登录后才可以留言!