1

这行代码让我感到困惑:

List<string> keys = new List<string>();
IDictionaryEnumerator ca = cache.GetEnumerator();
while (ca.MoveNext())
{
  keys.Add(ca.Key.ToString());
}

什么是枚举器?它与枚举有关吗?我试图找到有关枚举器的教程,但没有成功。希望有人能耐心给我解释一下。

4

1 回答 1

1

您没有显示“缓存”实际上是什么类型,但您的代码等效于:

foreach(var ca in cache)  
{
   keys.Add(ca.Key.ToString();
}

foreach()也使用枚举器,但通过编译器生成的代码更清晰。

于 2010-10-05T17:23:49.680 回答