这是我的代码,我想简化它。
int minSalary = empList.Min(e => e.salary);
var emp = empList.Where(e => e.salary == minSalary).FirstOrDefault();
string empName = emp= != null ? emp= .Name : string.Empty;
答案 0 :(得分:2)
您可以按工资订购集合,然后检索第一项是最小salary
的项目。使用FirstOrDefault
检索它,然后使用?.
operator (C# 6.0)访问Name
属性。
最后Name
可能是null
(如果FirstOrDefault
返回null
),请使用??
operator
string name = empList.OrderBy(e => e.salary).FirstOrDefault()?.Name ?? string.Empty;
对于Prior C#6.0:
var emp = empList.OrderBy(e => e.salary).FirstOrDefault();
var name = emp != null ? emp.Name : string.Empty;
答案 1 :(得分:1)
var employeeWithMinSalary = empList.OrderBy(e => e.Salary).FirstOrDefault();
string employeeWithMinSalaryName = employeeWithMinSalary?.Name;
答案 2 :(得分:1)
按工资对集合进行排序,然后选择员工姓名,如下所示:
var name = empList.OrderBy(e => e.salary)
.Select(e => e.Name)
.FirstOrDefault() ?? string.Empty;