.NET 帮助 C# 列表(开发者如何使用) Jacob Mellor 已更新:2025年7月28日 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 列表是多功能且动态的数据结构,用于在 C# 中存储和操作数据集合。 它们是System.Collections.Generic命名空间的一部分,提供了一系列强大、类型安全的集合类和强类型对象。 此初学者教程将引导您完成使用 C# 列表的基础知识,包括如何创建/添加元素、访问指定索引或首个出现、修改指定元素和移除元素,以及一些常见用例。 创建列表 要开始使用List类,您首先需要在代码中包含System.Collections.Generic命名空间: using System.Collections.Generic; using System.Collections.Generic; $vbLabelText $csharpLabel 添加通用命名空间后,通过在尖括号(List对象。 这是如何创建整数列表的一个示例: List<int> numbers = new List<int>(); List<int> numbers = new List<int>(); $vbLabelText $csharpLabel 您还可以使用一些初始值初始化列表,或根据指定集合定义它,如下所示: List<string> fruits = new List<string> { "apple", "banana", "cherry" }; List<string> fruits = new List<string> { "apple", "banana", "cherry" }; $vbLabelText $csharpLabel 我们还可以指定列表的默认初始容量。指定的初始容量是列表的默认最大容量。 列表的方法 向列表添加元素数量 要向List中添加元素,请使用Add()方法: numbers.Add(1); // Adds first element numbers.Add(2); numbers.Add(3); numbers.Add(1); // Adds first element numbers.Add(2); numbers.Add(3); $vbLabelText $csharpLabel 您还可以使用AddRange方法从指定集合中向List添加一系列元素: List<int> moreNumbers = new List<int> { 4, 5, 6 }; numbers.AddRange(moreNumbers); List<int> moreNumbers = new List<int> { 4, 5, 6 }; numbers.AddRange(moreNumbers); $vbLabelText $csharpLabel 访问列表元素 您可以像访问数组一样使用索引访问列表的各个元素: string firstFruit = fruits[0]; // "apple" string secondFruit = fruits[1]; // "banana" string firstFruit = fruits[0]; // "apple" string secondFruit = fruits[1]; // "banana" $vbLabelText $csharpLabel 请记住,列表是以零为基的索引,因此第一个元素的索引为 0。上面的示例将元素存储在字符串中(如果存在的话)。 修改列表元素 要修改列表中的元素,只需为所需索引处的元素分配一个新值,记住这是零基索引: fruits[1] = "blueberry"; fruits[1] = "blueberry"; $vbLabelText $csharpLabel 现在,水果列表中的第二个元素是"blueberry"而不是"banana"。 从列表中删除元素 要从List中移除元素,您可以使用Remove方法,该方法移除指定元素的第一次出现: fruits.Remove("apple"); fruits.Remove("apple"); $vbLabelText $csharpLabel 或者,您可以使用RemoveAt方法移除指定索引处的元素: fruits.RemoveAt(0); fruits.RemoveAt(0); $vbLabelText $csharpLabel 要从List中移除所有元素,请使用Clear方法: fruits.Clear(); fruits.Clear(); $vbLabelText $csharpLabel 在列表中查找元素 您可以使用Contains()方法检查List中是否包含特定元素: bool containsApple = fruits.Contains("apple"); // true bool containsApple = fruits.Contains("apple"); // true $vbLabelText $csharpLabel 要查找元素第一次出现的索引,请使用IndexOf方法: int appleIndex = fruits.IndexOf("apple"); // 0 int appleIndex = fruits.IndexOf("apple"); // 0 $vbLabelText $csharpLabel 如果未找到元素,IndexOf返回-1。 遍历列表 要遍历List中的元素,可以使用foreach循环: foreach (string fruit in fruits) { Console.WriteLine(fruit); } foreach (string fruit in fruits) { Console.WriteLine(fruit); } $vbLabelText $csharpLabel 或者,您可以使用带有for循环,该属性返回List中的元素数量: for (int i = 0; i < fruits.Count; i++) { Console.WriteLine(fruits[i]); } for (int i = 0; i < fruits.Count; i++) { Console.WriteLine(fruits[i]); } $vbLabelText $csharpLabel 对列表进行排序 要以升序排序List,请使用Sort方法: List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 }; unsortedNumbers.Sort(); // Now, unsortedNumbers is { 1, 2, 4, 5, 8 } List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 }; unsortedNumbers.Sort(); // Now, unsortedNumbers is { 1, 2, 4, 5, 8 } $vbLabelText $csharpLabel 要以降序排序List,您可以使用Sort方法并自定义比较: unsortedNumbers.Sort((a, b) => b.CompareTo(a)); // Now, unsortedNumbers is { 8, 5, 4, 2, 1 } unsortedNumbers.Sort((a, b) => b.CompareTo(a)); // Now, unsortedNumbers is { 8, 5, 4, 2, 1 } $vbLabelText $csharpLabel 对于更复杂的排序,您可以实现自定义的IComparer类或使用LINQ(语言集成查询)。 二分搜索算法在排序列表上有效。 使用 LINQ 和列表 LINQ 允许您对集合(包括列表)执行强大的查询和转换。 要使用LINQ,您首先需要在代码中包含System.Linq命名空间: using System.Linq; using System.Linq; $vbLabelText $csharpLabel 以下是列表上的一些 LINQ 查询示例: 筛选列表 List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList(); List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList(); $vbLabelText $csharpLabel 映射(转换)列表中的元素 List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList(); List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList(); $vbLabelText $csharpLabel 寻找列表中的最小值和最大值 int minValue = numbers.Min(); int maxValue = numbers.Max(); int minValue = numbers.Min(); int maxValue = numbers.Max(); $vbLabelText $csharpLabel 将列表转换为数组 要将List转换为数组,您可以使用ToArray方法: int[] numbersArray = numbers.ToArray(); int[] numbersArray = numbers.ToArray(); $vbLabelText $csharpLabel 使用 IronPDF 导出列表数据到 PDF 在本节中,我们将演示如何使用 IronPDF 库 将列表中的数据导出为 PDF 文件。 这在您希望生成报告或数据的可打印版本时会非常有用。 首先,将 IronPDF NuGet 包下载并安装到您的项目中: Install-Package IronPdf 接下来,在代码中包含IronPdf命名空间: using IronPdf; using IronPdf; $vbLabelText $csharpLabel 现在,让我们创建一个简单的函数,将一个字符串的List转换为HTML表格,然后导出为PDF文件: using System.Collections.Generic; using System.Text; using IronPdf; void ExportListToPdf(List<string> data, string pdfFilePath) { // Create an HTML table from the list data StringBuilder htmlBuilder = new StringBuilder(); htmlBuilder.Append("<table><tr><th>Item</th></tr>"); foreach (string item in data) { htmlBuilder.Append($"<tr><td>{item}</td></tr>"); } htmlBuilder.Append("</table>"); // Convert the HTML table to a PDF using IronPDF var renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString()); // Save the PDF to the specified file path pdf.SaveAs(pdfFilePath); } using System.Collections.Generic; using System.Text; using IronPdf; void ExportListToPdf(List<string> data, string pdfFilePath) { // Create an HTML table from the list data StringBuilder htmlBuilder = new StringBuilder(); htmlBuilder.Append("<table><tr><th>Item</th></tr>"); foreach (string item in data) { htmlBuilder.Append($"<tr><td>{item}</td></tr>"); } htmlBuilder.Append("</table>"); // Convert the HTML table to a PDF using IronPDF var renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString()); // Save the PDF to the specified file path pdf.SaveAs(pdfFilePath); } $vbLabelText $csharpLabel 要使用此函数,只需将其与您的列表和所需的 PDF 文件路径一起调用: List<string> fruits = new List<string> { "apple", "banana", "cherry" }; ExportListToPdf(fruits, "Fruits.pdf"); List<string> fruits = new List<string> { "apple", "banana", "cherry" }; ExportListToPdf(fruits, "Fruits.pdf"); $vbLabelText $csharpLabel 这将生成名为"Fruits.pdf"的 PDF 文件,其中包含通过 使用 IronPDF 转换 HTML 到 PDF 的水果列表表格。 您可以根据需要修改ExportListToPdf函数,例如为HTML表格添加自定义样式或向PDF添加额外内容。 结论 在这个对初学者友好的教程中,我们介绍了使用 C# 列表的基础知识,并演示了如何集成 IronPDF 来将列表数据导出为 PDF 文件。通过将 IronPDF 集成到您的项目中,您可以轻松地从 C# 项目生成报告、发票或其他可打印文档。 IronPDF 提供免费试用,让您在购买前测试其功能。 常见问题解答 如何在C#中创建一个列表? 要在C#中创建一个列表,你需要包含System.Collections.Generic命名空间。然后你可以通过在尖括号内指定数据类型来声明一个列表。例如:List numbers = new List(); 哪些方法用于向C#列表中添加元素? 使用Add()方法可以向C#列表中添加单个元素,使用AddRange()可以添加元素集合。 如何将C#列表导出为PDF文件? 要将C#列表导出为PDF文件,你可以使用IronPDF库。将你的列表数据转换为HTML表格格式,然后使用IronPDF将其渲染为PDF。 排序C#列表的最佳方式是什么? 你可以使用Sort()方法按升序排序C#列表。要按降序排序,可以使用带有自定义比较委托的Sort()方法。 如何访问C#列表中的元素? C#列表中的元素可以使用索引访问,类似于数组。列表是从零开始索引的,因此你可以使用元素在列表中的位置来检索它。 可用的从C#列表中删除元素的选项有哪些? 你可以使用Remove()方法删除特定元素,RemoveAt()方法删除特定索引的元素,或使用Clear()方法删除所有元素。 如何在C#列表中使用LINQ? LINQ可以用于C#列表,以执行强大的查询和转换,例如高效过滤、映射和查找最小或最大值。 如何将列表转换为C#中的数组? 你可以使用ToArray()方法将C#列表转换为数组,它会创建一个包含列表元素的新数组。 C#列表的一些常见用例是什么? C#列表通常用于管理动态数据集合,使用LINQ执行复杂查询,以及使用诸如IronPDF之类的库生成报告或文档。 如何遍历C#列表中的元素? 你可以使用foreach循环简单迭代C#列表中的元素,或者在需要索引时使用for循环。 Jacob Mellor 立即与工程团队聊天 首席技术官 Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。Jacob 拥有曼彻斯特大学土木工程一级荣誉工程学士学位(BEng)(1998-2001 年)。他的旗舰产品 IronPDF 和 Iron Suite for .NET 库在全球的 NuGet 安装量已超过 3000 万次,其基础代码继续为全球使用的开发人员工具提供动力。Jacob 拥有 25 年的商业经验和 41 年的编码专业知识,他一直专注于推动企业级 C#、Java 和 Python PDF 技术的创新,同时指导下一代技术领导者。 相关文章 已更新2026年2月20日 架起 CLI 简洁性与 .NET 的桥梁:使用 IronPDF for .NET 的 Curl DotNet Jacob Mellor 通过 CurlDotNet 填补了这一空白,CurlDotNet 库的创建是为了将 cURL 的熟悉感带入 .NET 生态系统。 阅读更多 已更新2025年12月20日 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多 已更新2025年12月20日 C# String Equals(开发者用法) 与强大的 PDF 库 IronPDF 结合使用,切换模式匹配允许您为文档处理构建更智能、更简洁的逻辑。 阅读更多 C# This(开发者如何使用)Visual Studio 是什么(开发者...
已更新2026年2月20日 架起 CLI 简洁性与 .NET 的桥梁:使用 IronPDF for .NET 的 Curl DotNet Jacob Mellor 通过 CurlDotNet 填补了这一空白,CurlDotNet 库的创建是为了将 cURL 的熟悉感带入 .NET 生态系统。 阅读更多
已更新2025年12月20日 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多