我有一个客户列表,如下所示:
var customers = new List<Customer>
{
new Customer { Name = "John", Age = 20 },
new Customer { Name = "Adam", Age = 30 },
new Customer { Name = "Joi", Age = 26 }
};
Run Code Online (Sandbox Code Playgroud)
退回年龄最低的客户对象的最佳方式是什么?
这是最有效的方法:
var customers = new List<Customer>
{
new Customer { Name = "John", Age = 20 },
new Customer { Name = "Adam", Age = 30 },
new Customer { Name = "Joi", Age = 26 }
};
var youngest = customers.Aggregate((x, y) => x.Age < y.Age ? x : y);
Run Code Online (Sandbox Code Playgroud)
这给了我:
或者,现在使用 .NET 6.0:
var youngest = customers.MinBy(c => c.Age);
Run Code Online (Sandbox Code Playgroud)