聲明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]; } } }
查看本欄目