我有一個帶有欄位名稱(字串)和金額(ulong)的 IEnumerable。我想獲得一個 LINQ 查詢來按名稱對這些元素進行分組,然后得到它們的總和和該總和的平均值。
為了得到分組元素的總和,我做了這樣的事情
collection.GroupBy(x => x.Name).Select(x => new { Key = x.Key, Sum = x.Sum(e => Int32.Parse(e.Amount.ToString()))});
它作業得很好,但是現在有沒有辦法在不制作單獨的 LINQ 或方法或其他任何東西的情況下獲得每個組的平均值?
我嘗試了幾種方法,但沒有一個是正確的。我做的最好的就是得到每個金額的平均值:/
uj5u.com熱心網友回復:
您應該能夠將另一個成員添加到匿名型別以回傳平均值,類似于回傳總和的方式。
collection.GroupBy(x => x.Name)
.Select(x => new {
Key = x.Key,
Sum = x.Sum(e => Int32.Parse(e.Amount.ToString()),
Avg = x.Average(e => Int32.Parse(e.Amount.ToString())
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/476610.html
上一篇:在LINQ中實作SQL查詢
下一篇:給孩子時如何顯示祖父母
