不知道我的理解对不对,这里所实现的迭代器是为了遍历内部的元素
非泛型的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace DieDaiMachine
{
public class Test
{
static void Main(string[] args)
{
Program p = new Program();
foreach (object obj in p)
{
Console.Write(obj.ToString()+" ");
}
Console.ReadLine();
}
}
public class Program //实现了IEnumerable接口
{
public IEnumerator GetEnumerator() //实现GetEnumerator()方法 ,主要是这里,名字不要写错
{
for (int i = 0; i < 10; i++)
{
yield return i; //使用yield return语句产生迭代器的元素,前面要加关键字 yield
}
}
}
}
使用方法
Program p = new Program();
IEnumerator ie = p.GetEnumerator();
while(ie.MoveNext())
{
Console.WriteLine(ie.Current);
}