0

以下のコードにdetailは、のリストがあります{ User, Amount, <other fields> }

var detail = new List<TuitionDetailItem>();

私が欲しいのは、フロートがそれぞれの合計である場所のperMemberリストになることです。{ User, Total }AmountUser

var perMember = detail
    .Where(x => x.ItemType == TuitionDetailItemType.Details)
    .GroupBy(x => new { x.User, x.Amount })
    .Select(x => new { x.Key.User, Total = x.Sum(y => y.Amount) })
    .ToList();

私が実際に取得するのはdetail、グループ化や合計を行わないコピーです。

手伝ってくれてありがとう!!エリック

4

1 に答える 1

0
var perMember = detail
    .Where(x => x.ItemType == TuitionDetailItemType.Details)
    .GroupBy(x => x.User)
    .Select(x => new { x.Key, Total = x.Sum(y => y.Amount) })
    .ToList();

またはそれ以上(私はそれがよりきれいだと思います)

var perMember = from d in detail
    where d.ItemType == TuitionDetailItemType.Details
    group d by d.User into g
    select new { User = g.Key, Total = g.Sum(d => d.Amount)};
于 2012-07-17T00:50:09.050 に答える