我有以下問題: 我有一個列表,並添加字符串項到此列表中。 然後我從列表中創建一個枚舉器。當我通過與MoveNext()
命令列表循環,當我直接訪問枚舉它的工作原理。當我使用枚舉器屬性訪問枚舉器時,它不起作用。 MoveNext()
命令不增加索引。C#列表和枚舉與性能
這是我使用的代碼。非常感謝你的幫助。
public class DummyKlasse
{
public List<string>.Enumerator enumerator;
public List<string> list;
public DummyKlasse()
{
Console.WriteLine("Test");
list = new List<string>();
enumerator = new List<string>.Enumerator();
}
public List<string>.Enumerator Enumerator
{
get { return enumerator; }
set { enumerator = value;}
}
public List<string> List
{
get { return list; }
set { list = new List<string>(value); }
}
public void dummyfunction()
{
List.Add("test1");
List.Add("test2");
enumerator = List.GetEnumerator();
}
}
public class Program
{
static void Main(string[] args)
{
DummyKlasse dummyklasse = new DummyKlasse();
dummyklasse.dummyfunction();
//Does not work with properties
/*
while (dummyklasse.Enumerator.MoveNext())
{
Console.WriteLine(dummyklasse.Enumerator.Current);
}
*/
//Works WITHOUT properties
while (dummyklasse.enumerator.MoveNext())
{
Console.WriteLine(dummyklasse.enumerator.Current);
}
Console.ReadLine();
}
}
究竟是什麼你的目標是什麼?大多數時候,一個簡單的'foreach'結構將允許你迭代你的數據。 –
添加使用繼承的答案添加 –