0
class YearlyData
{
MonthlyData[] monthlyData = new MonthlyData[12];
}
class MonthlyData
{
int Salary;
}
鑑於我有一個List<YearlyData>
,我怎麼能找到一個給定月份的總工資。 三年的例子我需要在第一個月的總月薪&。如何通過LINQ獲取嵌套集合的總和
class YearlyData
{
MonthlyData[] monthlyData = new MonthlyData[12];
}
class MonthlyData
{
int Salary;
}
鑑於我有一個List<YearlyData>
,我怎麼能找到一個給定月份的總工資。 三年的例子我需要在第一個月的總月薪&。如何通過LINQ獲取嵌套集合的總和
如果你想把所有的工資爲四月總和:
List<YearlyData> l;
l.Sum(yd => yd.monthlyData[3].Salary);
如果我誤解你的問題,你真的需要一份4 &隨後幾個月的所有工資(當年)
l.Sum(yd => yd.monthlyData.Skip(3).Sum());
事情是這樣的:
list.SelectMany(x => x.monthlyData
.Select((m, i) => new {month = i+1,
data = m.Salary}
))
.GroupBy(x => x.month)
.Select(x => new {month = x.Key,
total = x.Sum(m => m.data)});
這會給你一個列表有十二項,一個用於與該月的總金額以及每月。
你的意思是「第一個月及以後的月份」究竟是什麼意思? –