我想了解如何使用IEnumerator接口及其用途。我有一個實現IEnumerator接口的類。一個字符串數組被傳遞給構造方法。關於IEnumerator接口的困惑
問題是當我執行代碼,然後陣列沒有正確列出。它應該按照"ali"
,"veli"
,"hatca"
的順序執行,但它在控制檯上按此順序排列"veli"
,"hatca"
和-1
。我感到很困惑。我在這裏做錯了什麼?你能幫忙嗎?
static void Main(string[] args)
{
ogr o = new ogr();
while (o.MoveNext())
{
Console.WriteLine(o.Current.ToString());
}
}
public class ogr: IEnumerator
{
ArrayList array_ = new ArrayList();
string[] names = new string[] {
"ali", "veli", "hatca"
};
public ogr()
{
array_.AddRange(names);
}
public void addOgr(string name)
{
array_.Add(name);
}
int position;
public object Current
{
get
{
if (position >= 0 && position < array_.Count)
{
return array_[position];
}
else
{
return -1;
}
}
}
public bool MoveNext()
{
if (position < array_.Count && position >= 0)
{
position++;
return true;
}
else
{
return false;
}
}
public void Reset()
{
position = 0;
}
}