使用 LINQ 根据 CarCode 提取唯一的汽车对象
管理具有潜在冗余属性的对象集合通常需要高效的过滤技术。 本文演示了 LINQ 如何简化从集合中检索不同对象的过程,重点关注基于特定属性的唯一性。
挑战:
假设您有一个 Car
对象列表,每个对象都由其 CarCode
属性唯一标识。 任务是使用 LINQ 创建一个仅包含具有唯一 CarCode
值的汽车的新集合。
解决方案:
LINQ 的分组和选择功能提供了简洁的解决方案:
<code class="language-csharp">List<Car> cars = new List<Car>(); List<Car> distinctCars = cars .GroupBy(car => car.CarCode) .Select(g => g.First()) .ToList();</code>
详细说明:
GroupBy
方法将原始 cars
列表组织成组,并按 CarCode
属性进行分类。 每个组包含共享相同 CarCode
的汽车。
随后,Select
方法会迭代这些组,从每个组中选择第一个 Car
对象。 由于每个组代表一个唯一的 CarCode
,因此此选择可确保生成的集合仅包含不同的 Car
对象。
ToList()
方法将结果序列转换为新的 List<Car>
、distinctCars
,其中仅包含具有唯一 CarCode
值的汽车。 这可以根据识别代码有效地消除重复的汽车对象。
以上是如何使用LINQ根据CarCode获取不同的汽车对象?的详细内容。更多信息请关注PHP中文网其他相关文章!