从对象列表中创建双打列表的麻烦

时间:2010-05-20 09:58:27

标签: c# linq

我有一个包含对象的列表。该对象有一个属性'Sales',它是一个字符串。 现在我想创建一个带有所有对象''Sales'属性值的双精度列表。

我试过这个: var tmp =来自e.Result中的n选择新的{Convert.ToDouble(n.Sales)};

但这给了我这个错误:

错误106无效的匿名类型成员声明符。必须使用成员分配,简单名称或成员访问声明匿名类型成员。

编辑:首先我尝试了没有转换,但后来我有一个匿名类型列表(不是字符串),我无法将其转换为双倍的列表....

3 个答案:

答案 0 :(得分:4)

以下将为您提供双打列表。

List<double> listOfDoubles = (from n in e.Result
                              select Convert.ToDouble(n.Sales)).ToList();

答案 1 :(得分:2)

将您的代码更改为:

var tmp = from n in e.Result select new{Value = Convert.ToDouble ( n.Sales) };

您需要为匿名类型定义属性名称:即“Value = blah

答案 2 :(得分:2)

试试这个:

var tmp = from n in e.Result select new{ Sales = Convert.ToDouble ( n.Sales) };