C#Linq平均值

Dar*_*ung 6 c# linq

我有一个表格,数据类似于下面:

Group    TimePoint    Value
  1          0          1
  1          0          2
  1          0          3
  1          1          3
  1          1          5
Run Code Online (Sandbox Code Playgroud)

我想像这样投影一个表:

Group    TimePoint   AverageValue
  1          0            2
  1          1            4
Run Code Online (Sandbox Code Playgroud)

编辑:数据在数据表中.

任何人都有任何想法如何使用LINQ或其他方式完成此操作?

谢谢.

Stu*_*art 22

您需要执行分组依据

你需要的linq是这样的:

var query = from item in inputTable
            group item by new { Group = item.Group, TimePoint = item.TimePoint } into grouped
            select new
            {
                Group = grouped.Key.Group,
                TimePoint = grouped.Key.TimePoint,
                AverageValue = grouped.Average(x => x.Value)
            } ;
Run Code Online (Sandbox Code Playgroud)

有关更多Linq示例,我强烈推荐101 Linq示例页面 - http://msdn.microsoft.com/en-us/vcsharp/aa336747#avgGrouped