IRONSOFTWAREHOME
开发者更新

C# 排序列表(开发者如何使用)

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

C# SortedList简介

什么是 SortedList?

C# SortedList 类是一个键值对的集合,类似于字典,但它具有按键自动排序的额外优势。 它是 System.Collections.Generic 命名空间的一部分,设计用于需要快速访问排序数据的场景。 SortedList<TKey, TValue> 非常适合在需要保持数据特定顺序并通过键高效访问元素时使用。

当在 PDF 生成任务中与 SortedLists 一起使用时,IronPDF 完美地与此类集成,增强了对 PDF 生成的控制。

主要特点和用例

***键值对存储:**与字典类似,SortedList 将数据存储为键值对。

  • 自动排序:SortedList 默认情况下按键以升序保持相关值的排序。 ***高效的数据检索:**按键快速检索关联值,使其适用于查找。 ***使用案例:**适用于需要排序数据的应用程序,例如管理有序的名称、日期或数值列表。

SortedList 如何工作

数据结构概述

公共类 SortedList 是数组和哈希表的混合体,通过键组织其项目。 在内部,它使用排序数组来保持键值的顺序,确保通过键进行高效查找。 然而,插入和删除操作可能比 Dictionary 慢。

排序机制

默认情况下,SortedList<TKey, TValue> 使用 IComparable 接口按升序排序键,该接口确保字符串键及其他类型实现默认比较行为。 如果需要自定义排序顺序,可以提供自定义比较器。

优势和限制

优点: ***快速密钥访问:**提供快速的 O(log n) 密钥访问。 ***按键自动排序:**数据按键自动排序,无需额外的排序开销。 缺点:

  • **插入速度:**插入速度比 Dictionary 慢,尤其是在数据量大时。 ***非键操作效率有限:**在数据并非主要通过特定键值访问的情况下,效率较低。

使用C# SortedList

创建 SortedList

可以使用默认构造函数或在需要自定义排序时传递 IComparer 在C#中创建 SortedList。 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"

删除项目

使用特定键的 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 与 Dictionary:**由于排序开销,SortedList 的插入速度比 Dictionary 慢。
  • **SortedList 与 List 的区别:**与列表不同,SortedList 旨在通过键访问元素并保持排序顺序。

**何时使用 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 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。

相关文章

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 起