IRONSOFTWAREHOME
开发者更新

C# 初始化列表(开发者用法)

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

列表是System.Collections.Generic命名空间的一部分,适用于处理数据集合。 C#中的列表是动态的,这意味着其大小可以在运行时更改。在许多软件工程场景中,这是非常有帮助的,其中元素数量事先未知。 让我们深入探讨在C#中初始化列表的不同方式。 我们将介绍基础技术、对象初始化语法、集合初始化器以及IronPDF库。

基本列表初始化

要初始化一个列表,首先需要创建一个string,但您可以使用任何类型。

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // Initialize an empty list
        List<string> fruits = new List<string>();
        
        // Adding elements to the list
        fruits.Add("Apple");
        fruits.Add("Banana");
        fruits.Add("Cherry");
        
        // Display the list
        foreach (var fruit in fruits)
        {
            Console.WriteLine(fruit);
        }
    }
}

在上面的例子中,我们创建了一个空列表并使用Add方法添加了元素。 Add方法来填充它的值。

使用集合初始化器语法

C#提供了一种更简洁的方法,可以使用集合初始化器语法初始化列表。 这允许您在列表创建时直接填充数据,而无需重复调用Add方法。

public void InitializeList()
{
    List<string> fruits = new List<string> { "Apple", "Banana", "Cherry" };
}

这段代码实现了与前面的示例相同的结果,但形式更为简洁。 集合初始化器允许您在一个语句中用值初始化列表,提高了代码的可读性。

对象初始化器和列表初始化

对象初始化器语法是另一种初始化列表的方法,主要用于处理自定义对象。 这是对象初始化器如何与列表配合使用的示例:

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

List<Person> people = new List<Person>
{
    new Person { Name = "John", Age = 30 },
    new Person { Name = "Jane", Age = 25 },
    new Person { Name = "Jack", Age = 35 }
};

在此示例中,我们使用对象初始化器创建了Person对象的列表。 Age,它们在创建列表时被显式分配了值。

创建具有初始大小的列表

虽然列表的大小是动态的,但如果您大致知道列表将包含的元素数量,则可以指定初始容量。 这可以通过减少内存重新分配次数来提高性能。

List<string> fruits = new List<string>(10); // Initial size of 10

这创建了一个初始容量为10的空列表。虽然没有添加元素,但已经分配了足够的内存以容纳最多10个元素而无需调整内部数组大小。

从数组初始化列表

您还可以使用接受IEnumerable<t>参数的列表构造函数从现有数组初始化列表。 当您有一个数组并希望将其转换为列表以获得灵活性时,这非常有用。

// New String array of fruit
string[] fruitArray = { "Apple", "Banana", "Cherry" };
List<string> fruits = new List<string>(fruitArray);

在这里,创建了一个新的数组,然后用于初始化列表。这将IEnumerable<t>,包括数组,都可以传递给列表构造函数进行初始化。

使用AddRange方法

如果您有一个现有的项目聚集,您可以使用AddRange方法一次性将多个元素添加到列表中。

List<string> fruits = new List<string> { "Apple", "Banana" };
string[] moreFruits = { "Cherry", "Date", "Elderberry" };
fruits.AddRange(moreFruits);

在此示例中,我们从包含两个元素的列表开始,然后使用AddRange从数组中添加多个新项目。 这种方法可以通过批量添加元素而提高性能,因为它减少了多次重新分配的需要。

用自定义对象初始化列表

在初始化自定义对象的列表时,可以将对象初始化器与集合初始化器结合使用,在一个表达式中创建复杂的数据结构。

List<Person> people = new List<Person>
{
    new Person { Name = "Alice", Age = 28 },
    new Person { Name = "Bob", Age = 32 },
    new Person { Name = "Charlie", Age = 40 }
};

这种技术允许在一个语句中创建和初始化对象列表,使代码简洁且易于阅读。

使用扩展方法初始化列表

您还可以实现扩展方法,以自定义方式初始化列表。 扩展方法提供了一种机制,可以在不改变原结构的情况下为现有类型增加新功能。

public static class ListExtensions
{
    public static List<t> InitializeWith<t>(this List<t> list, params T[] elements)
    {
        list.AddRange(elements);
        return list;
    }
}

// Usage
List<string> fruits = new List<string>().InitializeWith("Apple", "Banana", "Cherry");

在这里,我们定义了一个扩展方法InitializeWith,该方法向列表添加元素并返回列表本身。 这允许您链式调用列表的初始化和填充。

IronPDF:C# PDF库

C# 初始化列表(开发者工作原理):图1 - IronPDF:C# PDF 库

如果您有一个列表,比如一个水果列表,您可以快速将其转换为HTML表格并将其呈现为PDF,使用IronPDF,全部只需几行代码。 过程很简便:初始化您的列表,转换为HTML,然后让IronPDF生成PDF。 以下是一个例子:

using IronPdf;
using System;
using System.Collections.Generic;
using System.Text;

class Program
{
    static void Main()
    {
        // Initialize a list of strings representing data
        List<string> fruits = new List<string> { "Apple", "Banana", "Cherry" };
        
        // Convert the list to an HTML table
        StringBuilder htmlContent = new StringBuilder();
        htmlContent.Append("<table border='1'><tr><th>Fruit Name</th></tr>");
        foreach (var fruit in fruits)
        {
            htmlContent.Append($"<tr><td>{fruit}</td></tr>");
        }
        htmlContent.Append("</table>");
        
        // Render the HTML to PDF using IronPDF
        var Renderer = new ChromePdfRenderer();
        var PDF = Renderer.RenderHtmlAsPdf(htmlContent.ToString());
        
        // Save the PDF to a file
        PDF.SaveAs("FruitsList.pdf");
        Console.WriteLine("PDF generated successfully.");
    }
}

C# 初始化列表(开发者工作原理):图2 - 示例输出

此代码初始化列表,从中创建HTML表格,并使用IronPDF创建PDF文件。 这是一种从数据集合生成PDF的简单直接的方法。

结论

在C#中,列表初始化是每个软件工程师都应掌握的基本概念。 无论您是在处理简单的字符串列表还是复杂的对象列表,C#提供了几种方法可以有效地初始化和填充列表。 从基础初始化到对象和集合初始化器,这些技术帮助您编写简洁、清晰和可维护的代码。

IronPDF提供免费试用,让您无需初始投资即可试用产品。 当您确信它满足您的需求时,可以以$999起购买许可证。

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 起