IRONSOFTWAREHOME
開發者更新

C# SortedList(開發者完整指南)

Jacob Mellor,首席技術官 @ Team Iron
Jacob Mellor
Updated: 2026年4月23日

C# SortedList 介紹

什麼是 SortedList?

C# SortedList 類別是一種鍵值對的集合,類似於字典,但其具有透過鍵自動排序的額外優勢。 它是 System.Collections.Generic 命名空間的一部分,專為需要快速存取已排序資料的情境而設計。 SortedList<TKey, TValue> 在您需要特定順序維持資料並透過鍵高效存取元素時非常理想。

在處理SortedLists和PDF生成任務時,IronPDF非常適合與此類別整合,提供增強的PDF生成控制。

主要特點與使用案例

  • **鍵值對儲存:**類似於字典,SortedList將資料儲存為鍵值對。
  • 自動排序:SortedList 預設按照鍵升序保持關聯值的排序。
  • **高效資料檢索:**按鍵快速檢索關聯值,使其適合用於查找。
  • **使用案例:**適用於需要已排序資料的應用程式,例如果管理有序的名稱、日期或數值列表。

SortedList 的工作原理

資料結構概覽

公開類別 SortedList 是陣列和哈希表之間的混合體,將其項目按鍵組織。 內部使用排序陣列保持鍵值的順序,以確保按鍵的高效查找。 不過,插入和刪除操作比 Dictionary 慢。

排序機制

預設情況下,SortedList<TKey, TValue> 使用 IComparable 介面以升序排序鍵,確保字串鍵和其他型別實現預設比較行為。 如果需要自定排序順序,可以提供自定比較器。

優勢和限制

  • 優點:
    • **快速鍵存取:**提供快速的O(log n)按鍵存取。
    • **排序順序:**資料自動以鍵排序,無需額外的排序開銷。
  • 缺點:
    • **插入速度:**比 Dictionary 插入時較慢,特別是在大資料量的情況下。
    • **非鍵操作的有限效率:**在資料不是主要根據具體鍵值存取的情境中效率較低。

使用 C# SortedList

建立 SortedList

您可以在C#中使用預設構造函式建立 SortedList ,或者在需要自定排序時傳遞 IComparer 。 SortedList 的預設初始容量為16,當約略大小已知時可進行調整以提高性能。

// Create a SortedList with integer keys and string values
SortedList<int, string> sortedList = new SortedList<int, string>();

新增項目

using Add 方法將鍵值對新增到 SortedList 中。 這會使項目按鍵排序。 以下程式碼保持 SortedList 資料按鍵升序排列。

sortedList.Add(1, "Apple");
sortedList.Add(3, "Banana");
sortedList.Add(2, "Cherry");

存取和修改元素

按鍵存取 SortedList 中的元素。 您可以直接檢索或修改與鍵相關的值。

// Accessing a specific value by key
string value = sortedList[1];  // Retrieves "Apple"
// Modifying a value
sortedList[1] = "Avocado";   // Changes the value associated with key 1 to "Avocado"

刪除項目

using Remove 方法按特定鍵刪除項目,或使用 RemoveAt 指定的索引。 這兩者都允許從 SortedList 中受控刪除物件。

sortedList.Remove(3);       // Removes the entry with key 3
sortedList.RemoveAt(0);     // Removes the entry at the zero-based index 0

迭代 SortedList

using foreach 迴圈遍歷 SortedList ,以排序順序檢索鍵和值。

foreach (KeyValuePair<int, string> kvp in sortedList)
{
    Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}

C# Sorted List (開發者如何工作):圖1

使用 SortedList 的實用範例

  • **範例1:**以簡單的鍵值格式儲存和檢索資料,其中順序重要,例如學生姓名按學號。
  • **範例2:**在更複雜的場景中使用 SortedList ,例如顯示排序的交易日誌或排名分數。

最佳實踐:

  • 當鍵是主要存取點且需要保持排序時,使用 SortedList。
  • 對於頻繁插入,考慮使用 SortedDictionary 以獲得更好的性能。

效能考量

將 SortedList 與 Dictionary 和 List 比較

  • **SortedList vs. Dictionary:**由於排序開銷,SortedList 插入速度比 Dictionary 慢。
  • **SortedList vs. List:**與列表不同,SortedList 設計用於按鍵存取元素並維持排序順序。

**何時使用 SortedList:**當您需要已排序資料並主要按鍵存取時,特別是對於讀取密集情形。

與 IronPDF 整合以導出 PDF

IronPDF介紹

C# Sorted List (開發者如何工作):圖2

IronPDF 是一個強大的程式庫,用於在 C# 中生成和修改 PDF 檔案。 它允許開發人員從各種來源建立 PDF,程式化地新增內容,以及自定義 PDF 版面。 在本節中,我們將使用 IronPDF 從 SortedList 資料建立 PDF 報告。

從 SortedList 資料生成 PDF 報告

要開始使用 IronPDF,請安裝 IronPDF NuGet 套件:

PM > Install-Package IronPdf

範例:將 SortedList 的資料導出到 PDF

以下範例演示如何將資料從 SortedList 導出到 PDF 表格。

首先,設置您的 SortedList:

SortedList<int, string> sortedList = new SortedList<int, string>
{
    { 1, "Apple" },
    { 2, "Banana" },
    { 3, "Cherry" }
};

然後,使用 IronPDF 生成此資料的 PDF:

// Initialize a PDF renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Build HTML string with table format
string html = "<h1>Sorted List Data</h1><table border='1'><tr><th>Key</th><th>Value</th></tr>";
foreach (var kvp in sortedList)
{
    html += $"<tr><td>{kvp.Key}</td><td>{kvp.Value}</td></tr>";
}
html += "</table>";

// Render HTML to PDF and save it
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("sortedList.pdf");

C# Sorted List (開發者如何工作):圖3

此程式碼從 SortedList 資料建立 HTML 表格,並使用 IronPDF 將其轉換為 PDF。

進階功能

  • **自定義 PDF 版面:**IronPDF 允許用 CSS 樣式設定版面、字體、顏色等。
  • **頁眉和頁腳:**IronPDF 支援頁眉和頁腳,其中可以包含頁碼或商標。

總結和最佳實踐

  • **SortedList 概覽:**SortedList 是一個已排序的鍵值集合,最適合於資料按特定鍵存取並需保持排序的情境。
  • **使用 IronPDF 導出:**IronPDF 是一個便捷的庫,用於將 SortedList 資料導出為 PDF,支援自定義版面和樣式。

結論

在本文中,我們探討了 C# SortedList 類別,這是一個管理已排序鍵值資料集合的強大工具。 SortedList 特別適用於順序和按鍵高效存取至關重要的場景中。 從建立、新增和刪除元素到與 IronPDF 整合以導出 PDF,我們涵蓋了在現實應用中使用 SortedList 的實際步驟和最佳實踐。

此外,我們展示了如何使用 IronPDF 簡化從 SortedList 將指定值導出為PDF格式的任務,從而使專業化的、有條理的報告建立更加容易。 IronPDF 的多功能性,包括自定義的頁眉、頁腳和 CSS 樣式,使其成為阿直接從 C# 應用程式生成 PDF 的絕佳選擇。

如果您有興趣嘗試 IronPDF,它提供一個免費試用,允許您不承諾地探索其完整功能範圍。 此試用版允許測試 PDF 生成、定制選項和現有項目的整合,以確保其能滿足您的需求。 通過結合 SortedList 和 IronPDF,開發人員獲得了一個管理和報告 C# 應用程式中已排序資料的強大高效解決方案。

Jacob Mellor,首席技術官 @ Team Iron
首席技術官

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密。
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起