首页 > 代码库 > IEnumerable接口
IEnumerable接口
=================================================简单的实现IEnumerable接口
------------------------------------Person.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication6 { public class Person { public string Name { get; set; } } }
------------------------------------PerAll.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication6 { public class PerAll:IEnumerable { Person[] p = new Person[3];//实例化长度为三个的数组 public PerAll()//构造函数初始化数组 { p[0] = new Person { Name = "张三" }; p[1] = new Person { Name = "李四" }; p[2] = new Person { Name = "王五" }; } public IEnumerator GetEnumerator()//迭代器 { return p.GetEnumerator();//直接调用数组自带的的GetEnumerator。(简单委托请求到System.Array) } } }
------------------------------------主程序
PerAll p = new PerAll();//实例化对象 //-------------------第一种方式遍历 foreach (Person item in p) { Console.WriteLine(item.Name); } //-------------------第二中方式遍历 IEnumerator ie = p.GetEnumerator(); while (ie.MoveNext()) { Console.WriteLine((ie.Current as Person).Name); } //普通数组遍历 string[] str = new string[3] { "张辽", "张合", "张飞" }; IEnumerator strie = str.GetEnumerator(); while (strie.MoveNext()) { Console.WriteLine(strie.Current as string); }
本文出自 “程序猿的家” 博客,请务必保留此出处http://962410314.blog.51cto.com/7563109/1529889
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。