c# - 哈希表到字典

标签 c# .net dictionary hashtable c#-2.0

我正在尝试将哈希表转换为字典,并在这里发现了一个问题: convert HashTable to Dictionary in C#

public static Dictionary<K,V> HashtableToDictionary<K,V> (Hashtable table)
{
    return table
        .Cast<DictionaryEntry> ()
        .ToDictionary (kvp => (K)kvp.Key, kvp => (V)kvp.Value);
}

当我尝试使用它时,table.Cast 出现错误;智能感知不会将“Cast”显示为有效方法。

最佳答案

Enumerable.Cast 在 .NET 2 中不存在,大多数与 LINQ 相关的方法(例如 ToDictionary)也不存在。

您需要通过循环手动执行此操作:

public static Dictionary<K,V> HashtableToDictionary<K,V> (Hashtable table)
{
    Dictionary<K,V> dict = new Dictionary<K,V>();
    foreach(DictionaryEntry kvp in table)
        dict.Add((K)kvp.Key, (V)kvp.Value);
    return dict;
}

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

相关文章:

c# - 用户事件记录、遥测(和全局异常处理程序中的变量)

javascript - 在 JavaScript 中用 map 方法替换 for 循环

c# - 查看Dictionary Item是否是字典中的最后一个

c# - Ninject Constructor 参数检查参数是否存在

c# - 在 EF 中集成和扩展 .NET 标识类(代码优先)

c# - NHibernate、CaSTLe、Linq 之间的区别——它们针对的是谁?

c# - 使用反射实例化一个类

java - MySQL Workbench 6.0 错误无法为管理员获取管理权限?

javascript - 我学习eloquent javascript时,关于forEach和map有一个无限循环

c# - Silverlight:如何使用列表中的多个属性设置组合框 DisplayMemberPath