class YearlyData
{
MonthlyData[] monthlyData = new MonthlyData[12];
}
class MonthlyData
{
int Salary;
}
鉴于我有一个List<YearlyData>
,我怎样才能找到给定月份的总薪水。
三年的例子我需要第一个月的总薪水和随后几个月。
答案 0 :(得分:2)
如果你想要四月所有工资的总和:
List<YearlyData> l;
l.Sum(yd => yd.monthlyData[3].Salary);
如果我误解了你的问题,你真的想要四月份的所有工资。随后几个月(年内)
l.Sum(yd => yd.monthlyData.Skip(3).Sum());
答案 1 :(得分:0)
这样的事情:
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)});
这将为您提供一个包含12个条目的列表,每个月一个,以及该月的总金额。