3

我有一个员工列表,所有员工都有另一个嵌套列表,称为 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 不正确,但不知道它有什么问题。

任何帮助将不胜感激!

谢谢

4

1 回答 1

12
var max = employeeList.Max(e=>e.EmployeeDisplayCollection.Count);

var maxEmp = employeeList.Where(e=>e.EmployeeDisplayCollection.Count == max)
                         .ToList()
于 2012-04-25T09:34:43.470 回答