通过一个例子来看
创新互联建站专注于企业成都全网营销、网站重做改版、松原网站定制设计、自适应品牌网站建设、HTML5、商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为松原等各大城市提供网站开发制作服务。
-------------------------------------------------------Student.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication6 { public class Student:IEnumerable { //数组 public string[] s; //索引器 public int i; public Student(string[] str)//构造函数,初始化数组 { s = str; } public IEnumerator GetEnumerator()//迭代器 { return s.GetEnumerator(); } } }
-------------------------------------------------------StiAll.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication6 { public class StiAll:IEnumerator { //student对象 Student s; //游标 int i = -1; public StiAll(Student ss)//构造函数,初始化student对象 { this.s = ss; } public object Current//获取当前的项(只读属性) { get { return s.s[i]; } } public bool MoveNext()//将游标的位置向前移动 { if (i<s.s.Length-1)//如果在s数组的长度范围之内就返回true { i++; return true; } else { return false; } } public void Reset()//初始化游标 { i = -1; } } }
-------------------------------------------------------主程序
Student s = new Student(new string[] { "吕蒙", "周泰", "黄盖" });//实例化Student对象 //第一种方式遍历 foreach (var item in s) { Console.WriteLine(item);//输出吕蒙,周泰,黄盖 } //第二种方式遍历 StiAll sa = new StiAll(s); while (sa.MoveNext()) { Console.WriteLine(sa.Current);//输出吕蒙,周泰,黄盖 } Console.ReadKey();
分享名称:IEnumerable接口与IEnumerator接口
URL标题:https://www.cdcxhl.com/article8/pgspip.html
成都网站建设公司_创新互联,为您提供网站改版、外贸网站建设、网页设计公司、建站公司、用户体验、App设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联