将匿名类型转换为List <keyvaluepair> </keyvaluepair>

时间:2011-12-19 01:58:05

标签: c# linq type-conversion key-value

我有一个方法要求如下:

public static List<ParetoElement> 
     ParetoBuildBySum(List<KeyValuePair<string, double>> inputData)

我有以下linq查询,并希望传入KeyValuePairs(字符串和双精度)列表中的这两个匿名值。

var myHistoSource = from d in data 
                    select new 
                    { 
                       Type = d.Item_Expense_Type, 
                       Amount = Double.Parse(d.Item_Amount.ToString()) 
                    };

正确的方法是什么?

由于

1 个答案:

答案 0 :(得分:4)

只需相应地修改您的查询:

var myHistoSource = (
    from d in data 
    select new KeyValuePair<string, double>(d.Item_Expense_Type,
                                            Double.Parse(d.Item_Amount.ToString())
    ).ToList();

另外,您的ParetoBuildBySum方法最有可能接受IEnumerable而不是List作为参数。