使用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中文网其他相关文章!