を使って、結合された2つのリストから最初のリストの数を取得する2つのリストを結合する次のコードがあります。Linq C#
public List<Summary> GetSummary()
{
List<Summary> summ = new List<Summary>();
summ = (
from xyz in (
from list1 in GetList1()
join list2 in GetList2() on list1.ID equals list2.ID
select new { list1, list2 }
)
group xyz by new { xyz.list1.ID } into g
select new Summary
{
ID = g.Key.ID,
ItemCount = g.Sum(x => 1), //getting wrong count //g.Count() is also not working.
Quantity = g.Sum(x => x.list1.Quantity),
Weight = g.Sum(x => x.list2.Weight),
Time = TimeSpan.FromHours(Convert.ToDouble(g.Sum(x => x.list1.Time))).ToString(@"dd\.hh\:mm\:ss"),
}
).ToList();
return summ;
}
私は最初のリスト(List1)のカウントを取得したいが、私は間違ったカウント(倍数)を得ている。例えば。アイテム数が6の場合、結果は36になります。
どちらのリストにも重複IDはありませんか? –
はい。重複はありません。 2番目のリストは、IDフィールドとWeightフィールドのみを持っています。 –
また、最初のリストの項目も一意である –