聲明IEnumerator的枚舉數
要創建非泛型接口的枚舉數,必須聲明實現IEnumerator接口的類,IEnumerator接口有如下特性:
1、她是System.Collections命名空間的成員
2、它包含3個方法Current、MoveNext和Reset
例如:下面代碼實現了一個列出顏色名數組的枚舉數類:
using System.Collections;
class ColorEnumerator:IEnumerator
{
string [] Colors;
int Position=-1;
public object Current
{
get
{
if(Position==-1)
return new Exception();
if(Position==Colors.Length)
return new Exception();
return Colors[Position];
}
}
public bool MoveNext()
{
if(Position<Colors.Length-1)
{
Position++;
return true;
}
else
{
return false;
}
}
pulic void Reset()
{
Position=-1;
}
public ColorEnumerator(string[] theColors)
{
Colors=new string[theColors.Length];
for(int i=0;i<theColors.Length;i++)
{
Colors[i]=theColors[i];
}
}
}
查看本欄目