标签: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<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 测试结果
C# 通过实现IEnumerable接口实现自定义的可枚举类
标签:one list lazy ret style each nbsp console string
原文地址:https://www.cnblogs.com/tomorrow0/p/13585248.html