繁体   English   中英

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

[英]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 }
};

返回年龄最小的客户 object 的最佳方法是什么?

这是最有效的方法:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM