class ExpenseClaim
{
int EmployeeId;
int Team;
double Cost;
}
List<EmployeeExpense> GetEmployeeExpenses()
{
return _expenseClaims // `_expenseClaims` is `List<ExpenseClaim>`
.GroupBy(e => e.EmployeeId)
.Select(x =>
new EmployeeExpense(
x.Key,
// TODO: employee team?
x.Sum(e => e.Cost)
);
}
請原諒這個頗爲人爲的例子。Linq GroupBy和多列
如何獲得GetEmployeeExpenses
的員工團隊?我假設我需要第二組,但我無法弄清楚語法。
請注意,對於給定的員工,他們的Team
將總是相同的,所以我很樂意拿Team
,例如按記錄分組的第一個。
所以......
ExpenseClaim { EmployeeId = 1, Team = Sales, Cost = 100 }
ExpenseClaim { EmployeeId = 1, Team = Sales, Cost = 50 }
=>
EmployeeExpense { EmployeeId = 1, Team = Sales, Cost = 150 }
+1很好的回答指出,他可以使用他的問題「首先」。 – 2010-12-14 13:13:26
謝謝你,優秀的答案 – fearofawhackplanet 2010-12-14 13:15:23