2011-04-21 90 views
0

我有以下LINQ查询:C#LINQ查询平均

var temp = 
from allData in result 
group result by new { study = allData.study, groupNumber = allData.groupNumber } into grp 
select new 
{ 
    study = grp.Key.study, 
    groupNumber = grp.Key.groupNumber, 
    Average = grp.Average(c => c.ValueToAverage) 
}; 

结果是另一个LINQ查询匿名类型。我无法弄清楚为什么平均功能不起作用?结果有一个数据成员调用TGI,这是我想要得到的平均值?有任何想法吗?

感谢,

+0

如果你想平均'TGI',你为什么要使用'ValueToAverage'?究竟发生了什么?你说它不起作用,但你还没有说现在发生了什么...... – 2011-04-21 09:46:58

+0

对不起乔恩,我只是用这个值作为一个通用的例子。当我做c。(无论什么值),我没有得到数据成员的列表,而是我得到的LINQ函数列表。 – 2011-04-21 09:50:41

+0

啊...我现在已经明白了。给出答案... – 2011-04-21 10:00:17

回答

4

此:

group result by ... 

应该是:

group allData by ... 

否则你的 “元素” 的组实际上是所有的结果,而不是元素你”再看。

这应该很好。如果不是,请给出一个简短的例子,但是完整的例子。

+0

谢谢乔恩。我真的应该注意到的东西。我责怪这个天气,被卡在鱼缸里面! – 2011-04-21 10:45:58