.NET幫助 C# 初始化列表 (如何為開發人員運作) Jacob Mellor 更新:2025年7月28日 下載 IronPDF NuGet 下載 DLL 下載 Windows Installer 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 清單屬於System.Collections.Generic命名空間,非常適合處理資料集合。 C# 中的列表是動態的,這意味著它們的大小可以在運行時改變。這種靈活性在許多軟體工程場景中非常有用,因為在這些場景中,元素的數量事先並不知道。 讓我們深入了解在 C# 中初始化列表的不同方法。 我們將介紹基本技術、物件初始化器語法、集合初始化器和IronPDF函式庫。 基本列表初始化 要初始化一個列表,首先需要建立一個 List<t> 類別的實例,其中 T 是列表中元素的類型。最常用的類型是 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); } } } 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); } } } $vbLabelText $csharpLabel 在上面的範例中,我們建立了一個空列表,並使用 Add 方法新增了元素。 List<string> 表示字串列表,我們使用 Add 方法為其填充值。 使用集合初始化器語法 C# 提供了一種更簡潔的方法來使用集合初始化器語法來初始化清單。 這樣,你就可以在建立列表時直接填入列表,而無需重複呼叫 Add 方法。 public void InitializeList() { List<string> fruits = new List<string> { "Apple", "Banana", "Cherry" }; } public void InitializeList() { List<string> fruits = new List<string> { "Apple", "Banana", "Cherry" }; } $vbLabelText $csharpLabel 這段程式碼實現了與前面範例相同的結果,但形式更簡潔。 集合初始化器允許你用一條語句初始化一個列表,讓你的程式碼更易讀。 物件初始化器和列表初始化 物件初始化器語法是初始化清單的另一種方法,主要用於處理自訂物件時。 以下是物件初始化器如何處理清單的範例: 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 } }; 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 } }; $vbLabelText $csharpLabel 在這個範例中,我們使用物件初始化器建立了 Person 物件清單。 Person 類別有兩個屬性:Name 和 Age,在建立清單時會明確地賦予它們值。 建立具有初始大小的列表 雖然清單的大小是動態的,但如果您大致知道清單將容納多少個元素,則可以指定初始容量。 這可以透過減少記憶體重新分配的次數來提高效能。 List<string> fruits = new List<string>(10); // Initial size of 10 List<string> fruits = new List<string>(10); // Initial size of 10 $vbLabelText $csharpLabel 這將建立一個初始容量為 10 的空列表。雖然它不會添加元素,但它會分配足夠的記憶體來容納最多 10 個元素,而不會調整內部陣列的大小。 從數組初始化列表 您也可以使用接受參數的列表建構函數從現有數組初始化列表。 當您有一個陣列並希望將其轉換為列表以提高靈活性時,此功能非常有用。 // New String array of fruit string[] fruitArray = { "Apple", "Banana", "Cherry" }; List<string> fruits = new List<string>(fruitArray); // New String array of fruit string[] fruitArray = { "Apple", "Banana", "Cherry" }; List<string> fruits = new List<string>(fruitArray); $vbLabelText $csharpLabel 這裡創建了一個新數組,然後用它來初始化一個列表。這會將數組轉換為列表。任何對象,包括數組,都可以傳遞給列表構造函數進行初始化。 使用 AddRange 方法 如果您已經有一個項目集合,您可以使用 AddRange 方法將多個元素一起新增至清單。 List<string> fruits = new List<string> { "Apple", "Banana" }; string[] moreFruits = { "Cherry", "Date", "Elderberry" }; fruits.AddRange(moreFruits); List<string> fruits = new List<string> { "Apple", "Banana" }; string[] moreFruits = { "Cherry", "Date", "Elderberry" }; fruits.AddRange(moreFruits); $vbLabelText $csharpLabel 在這個例子中,我們從一個包含兩個元素的清單開始,並使用 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 } }; List<Person> people = new List<Person> { new Person { Name = "Alice", Age = 28 }, new Person { Name = "Bob", Age = 32 }, new Person { Name = "Charlie", Age = 40 } }; $vbLabelText $csharpLabel 這種技巧允許在一條語句中建立和初始化物件列表,使程式碼簡潔易讀。 使用擴展方法初始化列表 您也可以實作擴充方法,以自訂方式初始化清單。 擴展方法提供了一種機制,可以在不改變現有類型原始結構的情況下,透過增加新功能來改進現有類型。 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"); 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"); $vbLabelText $csharpLabel 在這裡,我們定義了一個擴展方法,InitializeWith,該方法向列表中添加元素並返回列表本身。 這樣就可以將列表的初始化和填滿操作串聯起來。 IronPDF:C# PDF 庫 如果你有一個列表,例如水果列表,你可以使用IronPDF快速將其轉換為HTML 表格並將其渲染為 PDF ,只需幾行程式碼即可完成。 過程很簡單:初始化列表,將其轉換為 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."); } } 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."); } } $vbLabelText $csharpLabel 這段程式碼初始化一個列表,從中建立一個 HTML 表格,並使用IronPDF產生 PDF 檔案。這是一種從資料集產生 PDF 的簡單直接的方法。 結論 C# 中的清單初始化是每個軟體工程師都應該掌握的基本概念。 無論你處理的是簡單的字串列表還是複雜的物件列表,C# 都提供了多種方法來有效地初始化和填充列表。 從基本初始化到物件和集合初始化器,這些技術可以幫助您編寫簡潔、清晰且易於維護的程式碼。 IronPDF提供免費試用,讓您無需初始投資即可體驗產品。 當您確信它滿足您的需求時,許可證起價為 $799。 常見問題解答 在 C# 中初始化列表的基本方法有哪些? 在 C# 中,您可以通過創建 List 類的實例來初始化列表,其中 T 是元素類型。例如,List fruits = new List(); 是初始化列表的基本方式。 集合初始化器語法如何改進 C# 中的列表初始化? 集合初始化器語法允許您在創建列表時直接填入數據,使代碼更加簡潔。例如:List fruits = new List { 'Apple', 'Banana', 'Cherry' };。 初始化列表時,物件初始化器語法的目的是什麼? 物件初始化器語法對於使用自定義物件初始化列表很有幫助,允許在創建列表時設置屬性值。例如:new Person { Name = 'John', Age = 30 }; 在列表中。 您可以為列表設置初始容量嗎?為什麼這很有幫助呢? 是的,為列表設置初始容量可以通過減少列表增長時的內存重新分配來提高性能。例如:List fruits = new List(10);。 如何從現有陣列初始化 C# 中的列表? 您可以使用接受 IEnumerable 的列表構造函數從陣列初始化列表。例如:List fruits = new List(fruitArray);。 AddRange 方法在列表初始化中起什麼作用? AddRange 方法一次將多個元素從集合添加到列表中,通過最小化重新分配來優化性能。例如:fruits.AddRange(moreFruits);。 如何使用初始化器在列表中初始化自定義物件? 可以使用物件和集合初始化器的組合在列表中初始化自定義物件,實現列表創建的單一表達式。例如:new List { new Person { Name = 'Alice', Age = 28 } };。 擴展方法是什麼,它們與列表初始化有什麼關係? 擴展方法允許為現有類型添加新功能。例如,可以編寫像 InitializeWith 之類的擴展方法來簡化列表的初始化和填充。 如何將列表轉換為 C# 中的 PDF? 使用 IronPDF,您可以將列表轉換為 HTML 表格並將其渲染為 PDF,簡化從數據集合生成 PDF 的過程。 是否有免費試用版可用於從數據集合生成 PDF? 是的,IronPDF 提供免費試用,允許用戶在不進行初始購買的情況下測試其 PDF 生成功能。 Jacob Mellor 立即與工程團隊聊天 首席技術官 Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。 相關文章 更新2026年2月20日 銜接 CLI 簡化與 .NET : 使用 Curl DotNet 與 IronPDF for .NET Jacob Mellor 藉由 CurlDotNet 彌補了這方面的不足,CurlDotNet 是為了讓 .NET 生態系統能熟悉 cURL 而建立的函式庫。 閱讀更多 更新2025年12月20日 RandomNumberGenerator C# 使用RandomNumberGenerator C#類可以幫助將您的PDF生成和編輯項目提升至新水準 閱讀更多 更新2025年12月20日 C#字符串等於(它如何對開發者起作用) 當結合使用強大的PDF庫IronPDF時,開關模式匹配可以讓您構建更智能、更清晰的邏輯來進行文檔處理 閱讀更多 C#命名規則(對開發者如何理解的工作)FileStream C# (如何為開發人...
更新2026年2月20日 銜接 CLI 簡化與 .NET : 使用 Curl DotNet 與 IronPDF for .NET Jacob Mellor 藉由 CurlDotNet 彌補了這方面的不足,CurlDotNet 是為了讓 .NET 生態系統能熟悉 cURL 而建立的函式庫。 閱讀更多