【发布时间】:2013-04-25 19:41:27
【问题描述】:
我有表 4 列。
JobId StateId Salary Expense
1 1 35,000 31,000
1 1 33,000 25,000
1 2 28,000 26,000
2 2 7,000 16,000
2 2 6,000 20,000
2 1 9,000 22,000
2 1 15,000 29,000
通过在 C# 中使用 LINQ,我想按 JobId 和 StateId 组合进行分组。对于每个组合,我想要一个 Salary 数组和 Expense 数组。
对于每个组合,我可以将一列作为一个数组,通过使用这个
(from r in myTable.AsEnumerable()
group r by new {
jobId = r.Field<int>("JobId"),
stateId = r.Field<int>("StateId")
}).ToDictionary(
l => Tuple.Create(l.Key.jobId, l.Key.stateId),
l=> (from i in l select i.Field<double>("Salary")).AsEnumerable()
);
如何在每个组的两个数组中设置 Salary 和 Expense??
我的目标是找到每个组合的平均工资和平均费用,并进行一些其他操作。或者至少告诉我如何选择多个列作为单独的数组。
注意:我不想为每个组合收集匿名对象。
【问题讨论】:
标签: c# visual-studio-2010 performance linq linq-to-sql