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