c#实现IEnumerable接口实现foreach(二)非泛型版

using System;
using System.Collections;
using System.Collections.Generic;

class Programe
{
public static void Main(string[] args)
{
   Console.WriteLine(DateTime.Now);
   Student[] students = new Student[4];
   students[0] = new Student("a");
   students[1] = new Student("b");
   students[2] = new Student("c");
   students[3] = new Student("d");

   StudentArray studentArray = new StudentArray(students);
   foreach(Student s in studentArray)
   {
    Console.WriteLine(s.Name);
   }

}
}

class Student
{
string name;

public Student(string name)
{
   this.name = name;
}

public string Name
{
   get
   {
    return name;
   }
   set
   {
    name = value;
   }
}
}

class StudentArray
{
Student[] students;

public StudentArray(Student[] students)
{
   this.students = students;
}

public IEnumerator GetEnumerator()//此处不能改名GetEnumerator,它隐式实现了IEnumerable的GetEnumerator()方法
{
   for(int i = 0 ;i < students.Length ; i++ )
   {
    yield return students[i];
   }

}
}

posted @ 2012-05-31 14:34  Net-Spider  阅读(148)  评论(0)    收藏  举报