這行代碼混淆了我:什麼是枚舉器在一個對象中?
List<string> keys = new List<string>();
IDictionaryEnumerator ca = cache.GetEnumerator();
while (ca.MoveNext())
{
keys.Add(ca.Key.ToString());
}
什麼是枚舉?它是否連接到枚舉?我試圖找到一個關於統計員的教程,但沒有成功。希望有人會耐心向我解釋。
這行代碼混淆了我:什麼是枚舉器在一個對象中?
List<string> keys = new List<string>();
IDictionaryEnumerator ca = cache.GetEnumerator();
while (ca.MoveNext())
{
keys.Add(ca.Key.ToString());
}
什麼是枚舉?它是否連接到枚舉?我試圖找到一個關於統計員的教程,但沒有成功。希望有人會耐心向我解釋。
你沒有表現什麼類型的「緩存」實際上是,但你的代碼等價於:
foreach(var ca in cache)
{
keys.Add(ca.Key.ToString();
}
foreach()
使用枚舉爲好,但清潔通過編譯器產生的代碼。
我明白了。哪一個更快?你知道嗎? – sandalone 2010-10-06 10:26:23
@askmo:如果你不得不問,也不要使用。但是這兩個是一樣的。 – 2010-10-06 11:07:35
可能的重複[任何人都可以向我解釋IEnumerable和IEnumerator?](http://stackoverflow.com/questions/558304/can-anyone-explain-ienumerable-and-ienumerator-to-me) – 2010-10-05 17:26:48
@Kirk:感謝您的鏈接。這很棒。 – sandalone 2010-10-06 12:05:43