将Hashtable元素转换为List

时间:2014-06-24 07:27:21

标签: c# linq list casting hashtable

我有这个

哈希表有一个

key "ids" and its values are [1,2,3]

List<long> ids= (List<long>)hashtable["ids"];

尝试施法时发生错误。它说

Unable to cast object of type 'Newtonsoft.Json.Linq.JArray' to type 'System.Collections.Generic.List`1[System.Int64]'.

我被困了几个小时,有什么建议吗?

2 个答案:

答案 0 :(得分:1)

如果您在问题中写下了您希望获得的值以及哈希表的定义,那将会很有帮助。
假设您正试图获得[1,2,3]和您的价值&#39;是long的数组,请尝试:

List<long> ids= hashtable["ids"].ToList();

答案 1 :(得分:0)

    public static List<dynamic> ToDynamicList(this Hashtable ht)
    {
        var result = new List<dynamic>();
        foreach (DictionaryEntry de in ht)
        {
            result.Add(new { key = de.Key, value = de.Value });
        }
        return result;
    }