我查看了许多例子,但我似乎无法正确理解语法。任何帮助将不胜感激。
我有很多行的以下数据:
Class Response {
Int Serial
Int CodeId
}
在响应项列表中,我想获得代码最多的序列(我想获得最大序列号)。
int maxResponseCount =
responses.GroupBy(response => response.Serial)
.Select(serialCount => new
{
Count = serialCount.Select(response => response.Serial).Count()
}
).Max();
我想我已经关闭,但是我收到了投射错误。谢谢你的帮助。
答案 0 :(得分:2)
您在select
子句中选择了匿名类型,然后尝试在其上使用Max
。在Max
子句中指定字段,如:
.Max(r => r.Count);
或者你可以直接获得Max
:
int maxResponseCount =
responses.GroupBy(response => response.Serial)
.Max(serialCount =>
serialCount.Select(response => response.Serial).Count());