首頁 >後端開發 >C++ >如何使用LINQ有效地按值對字典進行分類?

如何使用LINQ有效地按值對字典進行分類?

Linda Hamilton
Linda Hamilton原創
2025-01-28 08:07:09851瀏覽

How Can I Efficiently Sort a Dictionary by Value Using LINQ?

LINQ高效字典值排序

程序開發中,經常需要根據字典的值進行排序。例如,一個字典存儲單詞及其出現頻率,需要按頻率降序排列。

雖然SortedList可以對單個值(如頻率)排序,但它無法直接映射回原始鍵。而SortedDictionary是根據鍵排序的,自定義類實現起來比較繁瑣。

LINQ提供了一種優雅的解決方案:

<code class="language-csharp">Dictionary<string, int> myDict = new Dictionary<string, int>();
myDict.Add("one", 1);
myDict.Add("four", 4);
myDict.Add("two", 2);
myDict.Add("three", 3);

var sortedDict = from entry in myDict orderby entry.Value ascending select entry;</code>

這段代碼創建一個新的字典sortedDict,其鍵值對按值的升序排列。它允許根據不同的條件進行排序,或選擇排序字典的特定部分。例如,要查找前10個最頻繁的單詞,可以使用:

<code class="language-csharp">var top10 = sortedDict.Take(10);</code>

以上是如何使用LINQ有效地按值對字典進行分類?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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