IEnumerable接口与IEnumerator接口
2014-07-24 23:14
316 查看
通过一个例子来看
-------------------------------------------------------Student.cs
-------------------------------------------------------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 接口
- 一个类型要想支持foreach则必须实现IEnumerable,IEnumerator两个接口。
- 如何自己实现IEnumerable和IEnumerator接口以支持foreach语句
- 构建可枚举类型(IEnumerable和IEnumerator接口)
- C# 通过实现IEnumerable/IEnumerator接口 完成foreach遍历
- 《转》IEnumerable、IEnumerator两个接口的认识
- IEnumerable和IEnumerator接口
- C#基础知识系列九(对IEnumerable和IEnumerator接口的糊涂认识)
- 如何实现IEnumerable<T>和IEnumerator接口,一个ASP.NET MVC日志模型的实现
- C#如何实现自定义集合的IEnumerable 和 IEnumerator 接口并使用foreach访问自定义集合
- C#学习笔记(七)—–集合--IEnumerable和IEnumerator接口
- IEnumerator与IEnumerable接口区别
- 理解IEnumerator+IEnumerable这种接口思想
- c#中foreach与接口IEnumerator和IEnumerable
- IEnumerable 和 IEnumerator 接口
- IEnumerable 和 IEnumerator 接口
- IEnumerable接口与IEnumerator
- IEnumerable 和 IEnumerator 接口
- C#基础知识系列九(对IEnumerable和IEnumerator接口的糊涂认识)
- IEnumerable 和 IEnumerator 接口