Joh*_*ann 1 c# linq linq-to-objects c#-4.0
我有一个员工列表,所有员工都有另一个嵌套列表,称为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)
{
}
}
Run Code Online (Sandbox Code Playgroud)
但是出于某种原因,我得到了employeeHighList中的所有员工,而不仅仅是拥有最高显示数量的员工.
我认为GroupBy不正确,但不知道它有什么问题.
任何帮助将非常感谢!
谢谢
Adr*_*ode 10
var max = employeeList.Max(e=>e.EmployeeDisplayCollection.Count);
var maxEmp = employeeList.Where(e=>e.EmployeeDisplayCollection.Count == max)
.ToList()
Run Code Online (Sandbox Code Playgroud)