首頁 > 後端開發 > C++ > 如何使用LINQ根據特定屬性獲取不同的對象?

如何使用LINQ根據特定屬性獲取不同的對象?

Mary-Kate Olsen
發布: 2025-02-02 09:01:10
原創
157 人瀏覽過

How to Use LINQ to Get Distinct Objects Based on Specific Properties?

利用LINQ對對象列表的特定屬性應用Distinct

LINQ的Distinct()方法允許您消除集合中的重複元素。但是,當處理複雜對象的列表時,就需要指定哪些屬性用於唯一性。

解決方案:

為此,您可以按所需的屬性對對象進行分組,並從每個組中選擇第一個元素。這將為您提供一個列表,該列表中的對象相對於指定的屬性是唯一的。

示例:

考慮具有Id和Name屬性的Person對象:

<code>Person1:Id=1,Name="Test1"
Person2:Id=1,Name="Test1"
Person3:Id=2,Name="Test2"</code>
登入後複製

要獲得基於Id屬性的不同人員列表:

<code class="language-csharp">List<Person> distinctPeople = allPeople
  .GroupBy(p => p.Id)
  .Select(g => g.First())
  .ToList();</code>
登入後複製

這將生成一個僅包含Person1和Person3的列表。

多個屬性:

如果您需要按多個屬性進行分組,可以使用匿名類型:

<code class="language-csharp">List<Person> distinctPeople = allPeople
  .GroupBy(p => new { p.Id, p.FavoriteColor })
  .Select(g => g.First())
  .ToList();</code>
登入後複製

注意事項:

以上是如何使用LINQ根據特定屬性獲取不同的對象?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板