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();
}
}
}
版权声明:本文为c201038795050原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。