IEnumerable接口
=================================================简单的实现IEnumerable接口
------------------------------------Person.cs
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Collections;namespaceConsoleApplication6{publicclassPerson{publicstringName{get;set;}}}
------------------------------------PerAll.cs
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Collections;namespaceConsoleApplication6{publicclassPerAll:IEnumerable{Person[]p=newPerson[3];//实例化长度为三个的数组publicPerAll()//构造函数初始化数组{p[0]=newPerson{Name="张三"};p[1]=newPerson{Name="李四"};p[2]=newPerson{Name="王五"};}publicIEnumeratorGetEnumerator()//迭代器{returnp.GetEnumerator();//直接调用数组自带的的GetEnumerator。(简单委托请求到System.Array)}}}
------------------------------------主程序
PerAllp=newPerAll();//实例化对象//-------------------第一种方式遍历foreach(Personiteminp){Console.WriteLine(item.Name);}//-------------------第二中方式遍历IEnumeratorie=p.GetEnumerator();while(ie.MoveNext()){Console.WriteLine((ie.CurrentasPerson).Name);}//普通数组遍历string[]str=newstring[3]{"张辽","张合","张飞"};IEnumeratorstrie=str.GetEnumerator();while(strie.MoveNext()){Console.WriteLine(strie.Currentasstring);}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。