将匿名类型转换为List

本文关键字:KeyValuePair List 类型转换 | 更新日期: 2023-09-27 18:18:09

我有一个方法需要以下内容:

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()) 
                    };

正确的方法是什么?

谢谢

将匿名类型转换为List<KeyValuePair>

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

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作为它的参数。

相关文章: