我有一个以下的Model类:
public class Student
{
public string Name { get; set; }
public string Major { get; set; }
public int Age { get; set; }
}
public string GetPrimaryMajor(List<Student> students)
{
...
}
Run Code Online (Sandbox Code Playgroud)
如何使用迭代和LINQ方法实现该方法GetPrimaryMajor()以确定参数中最常出现Major的students方法?
由于这显然是家庭作业,我会给你简单/容易的,你可以从那里找出迭代的方法.
public string GetPrimaryMajor(List<Student> students)
{
var mostCommonMajor = students
.GroupBy(m => m.Major)
.OrderByDescending(gp => gp.Count())
.FirstOrDefault()? // null-conditional operator
.Select(s => s.Major)
.FirstOrDefault();
return mostCommonMajor;
}
Run Code Online (Sandbox Code Playgroud)
对于迭代方法,请将以下伪代码视为一种潜在的简单迭代(可能性能较差)算法:
// Iterate students
// Track count of each major
// Keep track of most commonly occurring major by comparing count of
// currently iterated value vs current most commonly occurring value count
// Return most commonly occurred major at end of loop.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |