>使用linq的distract()作為唯一對象屬性 linq's
方法有效地從序列中刪除了重複的項目。 但是,您通常需要根據特定對象屬性識別唯一性,而不是整個對象。>Distinct()
>示例:基於ID
的唯一人 >假設您有一個>
屬性的類。要根據其ID獲取獨特的人的列表,請按進行對列表進行分組,然後從每個組中選擇第一人稱:Person
Id
Id
<code class="language-csharp">List<Person> distinctPeople = allPeople .GroupBy(p => p.Id) .Select(g => g.First()) .ToList();</code>
確保跨多個屬性(例如,和
)的唯一性,創建一個匿名類型作為分組密鑰:
Id
FavoriteColor
>
<code class="language-csharp">List<Person> distinctPeople = allPeople .GroupBy(p => new { p.Id, p.FavoriteColor }) .Select(g => g.First()) .ToList();</code>
一些查詢提供商(例如實體框架核心的較舊版本),如果組為空,則可能會拋出異常。 在這種情況下,用替換。 如果
返回,您需要在代碼中處理這種可能性。 First()
FirstOrDefault()
ef core(pre-version 6)solutionFirstOrDefault()
null
>
以上是如何在特定對象屬性上使用Linq的Distine()方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!