我有表 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()
);
我怎样才能在每个组的两个数组中有薪水和费用?
我的目标是找到每个组合的平均工资和平均费用,并做一些其他的操作。或者至少告诉我如何选择多列作为单独的数组。
注意:我不想为每个组合收集匿名对象。