【发布时间】:2012-04-25 09:30:14
【问题描述】:
我有一个员工列表,所有员工都有另一个嵌套列表,称为 DisplayList。
现在并非所有员工都拥有相同数量的 DisplayField。所以我希望得到那些具有最高 DisplayFields 的人,这样我就可以将每个人都纳入显示中。
目前我有以下内容:-
int iMaxDisplayCount = 0;
foreach (Employee employee in employeeList)
{
int iDisplayCount = employee.EmployeeDisplayCollection.Count;
if (iDisplayCount > iMaxDisplayCount)
iMaxDisplayCount = iDisplayCount;
}
var employees = employeeList.GroupBy(p => p.EmployeeDisplayCollection.Count == iMaxDisplayCount).Select(g => g.ToList());
foreach(var employeeHighList in employees)
{
foreach (var employee in employeeHighList)
{
}
}
但是由于某种原因,我得到了employeeHighList 中的所有员工,而不仅仅是显示次数最多的员工。
我认为 GroupBy 不正确,但不知道它有什么问题。
任何帮助将不胜感激!
谢谢
【问题讨论】:
-
你的问题不是很清楚。 “这样我就可以将每个人都纳入展示中”是什么意思?请阅读tinyurl.com/so-hints 并编辑您的问题以使其更清晰。
标签: c# linq c#-4.0 linq-to-objects