首页 > 后端开发 > C++ > 如何使用LINQ根据特定属性获取不同的对象?

如何使用LINQ根据特定属性获取不同的对象?

Barbara Streisand
发布: 2025-02-02 08:56:11
原创
301 人浏览过

How Can I Use LINQ to Get Distinct Objects Based on Specific Properties?

LINQ's Distinct() with Complex Object Properties

LINQ's Distinct() method provides an efficient way to remove duplicate elements from a collection.但是,基于一个或多个对象属性找到不同的元素需要一种不同的方法。

分组属性以获取不同的结果

以基于特定属性获得明显的结果,请使用组创建组并从每个组中选择一个代表的GroupBy()和First()方法。例如:在这种情况下,在这种情况下,查询所有人的属性,并从每个组中选择第一人称。结果是基于他们的pertyid的独特列表。
List<Person> distinctPeople = allPeople
  .GroupBy(p => p.PersonId)
  .Select(g => g.First())
  .ToList();
登录后复制

>分组多个属性

> 如果基于多个属性需要明显的结果,请按以下方式修改查询:

>

>此查询人们通过其个性化和favoriteColor属性将基于这两个条件的独特列表确保。
List<Person> distinctPeople = allPeople
  .GroupBy(p => new { p.PersonId, p.FavoriteColor })
  .Select(g => g.First())
  .ToList();
登录后复制

>

>考虑

提供者可能不能保证每个组至少具有一个元素。在这种情况下,请考虑使用firstOrdeFault()而不是first()。此外,此技术可能不适用于6点之前的实体框架核心版本。请访问https://stackoverflow.com/a/666529949/8155在此类环境中兼容。>>>>>>>>>>>>>>>>>>。

以上是如何使用LINQ根据特定属性获取不同的对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板