首頁 >後端開發 >C++ >如何使用 LINQ 根據 C# 清單中的屬性對重複項進行計數和排序?

如何使用 LINQ 根據 C# 清單中的屬性對重複項進行計數和排序?

DDD
DDD原創
2025-01-05 08:56:10971瀏覽

How Can I Count and Sort Duplicates Based on a Property in a C# List Using LINQ?

使用LINQ 根據物件清單中的屬性計算重複項

在程式設計中,在清單中尋找重複項是一種常見情況。本文解決了在 C# 中使用 LINQ(語言整合查詢)根據物件清單中的特定屬性計算重複項的挑戰。

假設您有一個具有 ID 屬性的物件列表,表示一組項目。您的目標是計算每個唯一 ID 的出現次數,並按最高計數降序對結果進行排序。

要實現此目標,您可以利用 LINQ 強大的 group by 和 order by 運算子。以下步驟概述了這個流程:

  1. 按屬性分組: 利用「group by」操作按 ID 屬性對清單中的物件進行分組。這會建立子組,其中每個組包含具有相同 ID 的物件。
  2. 計數重複項: 在每個組別中,使用「計數」方法計算物件的數量。
  3. 依計數排序: 接下來,使用「orderby」運算子依物件數量降序對群組進行排序。這將根據重複項的最高數量來排列組。
  4. 選擇結果:最後,從每個群組中選擇所需的屬性,例如計數、用於分組的屬性以及任何其他屬性所需資訊。

程式碼實作:

以下是C# 中的範例程式碼實作:

var query = list.GroupBy(x => x.ID)
    .Select(x => new {
        Count = x.Count(),
        CategoryID = x.Key,
        // Other properties as needed
    })
    .OrderByDescending(x => x.Count);

在此範例中,「清單」代表物件的集合。此查詢首先按物件的「ID」屬性對物件進行分組,然後對每個群組內的物件進行計數。產生的匿名類型包括計數和 CategoryID(在本例中為群組的 ID)。最後,結果根據計數按降序排列。

此 LINQ 表達式可讓您根據物件清單中的指定屬性輕鬆對重複項進行計數和排序。

以上是如何使用 LINQ 根據 C# 清單中的屬性對重複項進行計數和排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn