如何在Linq select block中进行计算?

时间:2012-01-16 00:19:32

标签: linq select

如何在此LINQ选择中进行价格转换?
假设我希望所选价格是我从xml文件读入的价格的1.5倍。我在哪里进行乘法运算?

select new
       {
           Price = double.Parse(d.Element(price).Value).ToString(),
           ProductName = d.Element(productName).Value
       }

我希望这样的事情,但显然,这是一个错误:

Price = double.Parse(d.Element(price).Value * 1.5).ToString(),

2 个答案:

答案 0 :(得分:3)

我猜ToString()是一个错字,所以

select new
{
  Price = double.Parse(d.Element(price).Value) * 1.5,
  ProductName = d.Element(productName).Value
}

如果没有,那就像谢尔盖所说的那样,但我建议你改变你的数据模型实际上包含Price的双倍(或更好,decimal,因为双倍不是足够准确的钱。)

答案 1 :(得分:2)

你应该做

Price = (double.Parse(d.Element(price).Value) * 1.5).ToString()