我正在尝试将哈希表转换为字典,并在此处发现一个问题:
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中有一个错误。 intellisense不会将“投放”显示为有效方法。

最佳答案

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/

10-11 04:04