c# - 哈希表的 IEnumerator?

标签 c# linq

谁能告诉我为什么 IDictionaryEnumerator 更适合循环 HashTable。

虽然它派生自 IEnumerator,但它与 IEnumerator 有何不同?

什么时候使用哪个?

最佳答案

重点是哈希表/字典枚举,带有.Key.Value .这与 2.0 相比有点没有实际意义,因为 Dictionary<TKey,TValue>工具 IEnumerable<KeyValuePair<TKey, TValue>>哪个更清楚。

这个接口(interface)只是为了在少数情况下更方便地访问键/值。

您可以在 Hashtable 中实现相同的目的(不使用 IDictionaryEnumerator )通过:

foreach(DictionaryEntry pair in hashTable) {
     .... use pair.Key and pair.Value
}

关于c# - 哈希表的 IEnumerator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6979009/

相关文章:

c# - 使用C#删除硬盘驱动器上的可用空间

c# - 什么是 C# 迭代器和生成器,我该如何使用它们

xml - 在 XML Linq Select 语句中使用 XNamespace

c# - Linq 为什么连接字符串会导致空值?

c# - array.Take(13).Skip(x) 减去 take

c# - 通用 ToSelectListItem 方法

c# - 如何检测用户是否离开键盘?

c# - Dictionary.ContainsKey 总是返回 False

c# - 无需大量转换即可创建和初始化不同的子类型

c# - Linq - 使用谓词的查询运算符 'Where' 不支持重载