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];
}
}
}
浙公网安备 33010602011771号