如何使用LINQ查找值的总和

时间:2012-03-23 23:39:48

标签: c# xml linq

我的xml文件看起来像这样

<xxx>
    <fff>1</fff>
</xxx>
<xxx>
    <fff>1</fff>
</xxx>

我想在节点中找到值的总和。我这样想:

var sum = from c in el.Elements()
         select new {I don't know what to write here}

然后迭代求和,但我想在一个查询中完成。

查询的外观如何?

3 个答案:

答案 0 :(得分:5)

也许是这样的?

int sum = root.Descendants("fff").Sum(e => (int) e);

答案 1 :(得分:3)

我认为它更像是这样:

int sum = root.Descendants("fff").Sum(e => int.Parse(e.Value));

答案 2 :(得分:0)

对于例外情况,您需要使用TryParse而不是Parse,例如

int sum = el.Descendants("fff").Sum (e => 
    { 
        int v;
        return int.TryParse(e.Value, out v) ? v : 0;
    });