需要从对象列表中返回具有最低属性值的对象

1 .net c# linq

我有一个客户列表,如下所示:

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)

退回年龄最低的客户对象的最佳方式是什么?

Eni*_*ity 5

这是最有效的方法:

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)