首页 >后端开发 >C++ >如何使用 LINQ 基于属性删除重复对象?

如何使用 LINQ 基于属性删除重复对象?

Susan Sarandon
Susan Sarandon原创
2025-01-15 21:57:45744浏览

How to Remove Duplicate Objects Based on a Property Using LINQ?

使用LINQ提取基于属性的唯一对象

在处理集合时,您可能会遇到需要根据特定对象属性移除重复项的情况。假设您有一个Car对象的集合,这些对象由其CarCode属性唯一标识。但是,该集合可能包含具有相同CarCode的重复项。本文将演示如何利用LINQ来消除这些重复项,并只保留唯一的Car实例。

为此,我们可以采用组合分组和选择的技术。以下代码片段展示了这种方法:

<code class="language-csharp">List<Car> distinct =
  cars
  .GroupBy(car => car.CarCode)
  .Select(g => g.First())
  .ToList();</code>

在此代码中,我们首先使用GroupBy方法按其CarCode属性对汽车进行分组。此操作为每个唯一的CarCode创建组。随后,我们利用Select方法使用g.First()从每个组中提取第一辆车。此步骤确保只保留每个唯一CarCode的一个Car对象。

通过执行此LINQ表达式,您将获得一个名为distinct的新集合,该集合仅包含基于其CarCode属性的唯一Car对象。

以上是如何使用 LINQ 基于属性删除重复对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn