C#_IEnumerable和IEnumerable<T>
2015-12-22 22:58
471 查看
using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace CShapeTest { // 实现非泛型IEnumerable可枚举接口 class Teacher:IEnumerable { private List<Student> stuList; public Teacher() { stuList = new List<Student>(); } public void add(Student stu) { this.stuList.Add(stu); } public IEnumerator GetEnumerator() { return this.stuList.GetEnumerator(); } } class Student { private int age; private string name; public Student(int age, string name) { this.age = age; this.name = name; } public override string ToString() { return string.Format("age:{0}, name:{1}", this.age, this.name); } } class Start { static void Main(string[] args) { Teacher tea = new Teacher(); tea.add(new Student(20, "cxm")); tea.add(new Student(23, "zqr")); tea.add(new Student(25, "chenglong")); tea.add(new Student(27, "xiaoming")); tea.add(new Student(30, "lisi")); foreach (var item in tea) { Console.WriteLine(item); } Console.ReadLine(); } } }
using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace CShapeTest { // 实现泛型IEnumerable<T>可枚举接口 class Teacher:IEnumerable<Student> { private List<Student> stuList; public Teacher() { stuList = new List<Student>(); } public void add(Student stu) { this.stuList.Add(stu); } //可枚举的类可以返回枚举 public IEnumerator<Student> GetEnumerator() { foreach (Student s in stuList) { yield return s; } } //显式实现接口 System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return GetEnumerator(); } } class Student { private int age; private string name; public Student(int age, string name) { this.age = age; this.name = name; } public override string ToString() { return string.Format("age:{0}, name:{1}", this.age, this.name); } } class Start { static void Main(string[] args) { Teacher tea = new Teacher(); tea.add(new Student(20, "cxm")); tea.add(new Student(23, "zqr")); tea.add(new Student(25, "chenglong")); tea.add(new Student(27, "xiaoming")); tea.add(new Student(30, "lisi")); foreach (var item in tea) { Console.WriteLine(item); } Console.ReadLine(); } } }
相关文章推荐
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- C#中this的用法集锦
- C#数据结构之顺序表(SeqList)实例详解
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#比较二个数组并找出相同或不同元素的方法
- C#生成饼形图及添加文字说明实例代码
- C#判等对象是否相等的方法汇总
- C#简单的向量用法实例教程