需要 return 对象列表中具有最低 属性 值的对象

Need to return an object with the lowest property value from List of objects

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

var customers = new List<Customer>
{
    new Customer { Name = "John", Age = 20 },
    new Customer { Name = "Adam", Age = 30 },
    new Customer { Name = "Joi", Age = 26 }
};

return年龄最小的客户对象的最佳方法是什么?

我相信您可以通过先按年龄排序对象然后返回列表中的第一个元素来实现。 您可以通过添加此 linq 查询来实现。

Customer lowestAgeCustomer = Customers.OrderBy(c => c.Age).FirstOrDefault();

这是最有效的方法:

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);

这给了我:

或者,现在使用 .NET 6.0:

var youngest = customers.MinBy(c => c.Age);