0

私のラムダ式:

lst.Add(qry.Where(item => item.Type == "Gundalac")
           .Aggregate(new CDetails(), (accumulator, item) => new CDetails {
                       Des = "CATALOG", 
                       Amt = accumulator.Amt + item.Amt 
                   }));

public class CDetails
{   
    public string Des { get; set; }
    public decimal? Amt { get; set; }
}

常にAmtnull 値ですか? 「qry」の結果の金額の合計を取得する方法。

4

1 に答える 1

2

qry.Where(item => item.Type == "Gundalac")実際にアイテムを返すことを確認します。

コードを次のように変更する傾向があることを確認したら、次のようにします。

lst.Add(new CDetails()
{
    Des = "CATALOG", 
    Amt = qry
        .Where(item => item.Type == "Gundalac")
        .Sum(item => item.Amt)
});

この特定のケースでは、使用.Sum()ははるかに簡単です。

于 2012-09-17T05:19:11.013 に答える