在生產環境中測試,無水印。
在任何需要的地方都能運行。
獲得 30 天的全功能產品。
在幾分鐘內上手運行。
試用產品期間完全訪問我們的支援工程團隊
列表是多功能且動態的數據結構,用來在C#中存儲和操作數據集合。 列表是 System.Collections.Generic 命名空間的一部分,該命名空間提供一系列強大的類型安全集合類和強類型物件。 這個適合初學者的教程將指導您了解使用 C# 列表的基礎,包括如何創建/添加元素、訪問指定索引或首次出現、修改指定元素以及刪除元素,還有一些常見的用例。
要開始使用 List 類別,首先需要在程式碼中包含 System.Collections 泛型命名空間:
using System.Collections.Generic;using System.Collections.Generic;Imports System.Collections.Generic在添加通用命名空間後,通過指定要存儲在尖括號 (< >) 中的所有元素的數據類型,創建一個新的List 對象。 以下是一個建立整數列表的範例:
List<int> numbers = new List<int>();List<int> numbers = new List<int>();Dim numbers As New List(Of Integer)()您也可以將元素插入到具有一些初始值的清單中,或由指定的集合定義,如下所示:
List<string> fruits = new List<string> { "apple", "banana", "cherry" };List<string> fruits = new List<string> { "apple", "banana", "cherry" };Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}在上述範例中,我們也可以指定清單的預設初始容量。 指定的初始容量是列表的預設最大容量。
要將元素新增到內部資料結構清單中,請使用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);numbers.Add(1) ' adds first element
numbers.Add(2)
numbers.Add(3)您還可以使用AddRange方法將指定集合中的一系列元素添加到列表中:
List<int> moreNumbers = new List<int> { 4, 5, 6 };
numbers.AddRange(moreNumbers);List<int> moreNumbers = new List<int> { 4, 5, 6 };
numbers.AddRange(moreNumbers);Dim moreNumbers As New List(Of Integer) From {4, 5, 6}
numbers.AddRange(moreNumbers)您可以使用索引存取清單中的個別元素,就像使用陣列一樣:
string firstFruit = fruits[0]; // "apple"
string secondFruit = fruits[1]; // "banana"string firstFruit = fruits[0]; // "apple"
string secondFruit = fruits[1]; // "banana"Dim firstFruit As String = fruits(0) ' "apple"
Dim secondFruit As String = fruits(1) ' "banana"請記住,列表是從零開始排序的,所以第一個元素的索引是 0。如果元素存在,以上範例會將該元素儲存在字串中。
要修改列表中的元素,只需將所需索引處的元素賦值為新值,請記住索引是從零開始的:
fruits[1] = "blueberry";fruits[1] = "blueberry";fruits(1) = "blueberry"現在,水果列表中的第二個元素是「藍莓」而不是「香蕉」。
要從列表中移除元素,可以使用Remove方法,此方法會移除指定元素的第一次出現:
fruits.Remove("apple");fruits.Remove("apple");fruits.Remove("apple")或者,您可以使用RemoveAt方法在指定的索引處移除元素(如果該元素存在的話):
fruits.RemoveAt(0);fruits.RemoveAt(0);fruits.RemoveAt(0)要從清單中移除所有元素,請使用Clear方法:
fruits.Clear();fruits.Clear();fruits.Clear()您可以使用Contains()方法來檢查清單中是否包含特定元素:
bool containsApple = fruits.Contains("apple"); // truebool containsApple = fruits.Contains("apple"); // trueDim containsApple As Boolean = fruits.Contains("apple") ' true若要尋找元素第一次出現的索引,請使用IndexOf方法:
int appleIndex = fruits.IndexOf("apple"); // 0int appleIndex = fruits.IndexOf("apple"); // 0Dim appleIndex As Integer = fruits.IndexOf("apple") ' 0如果未找到元素,IndexOf 返回 -1。
要遍歷列表中的元素,可以使用foreach循環。使用foreach循環,您還可以訪問數組的所有元素。
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}For Each fruit As String In fruits
Console.WriteLine(fruit)
Next fruit或者,您可以使用具有 Count 屬性的 for 迴圈,它會返回列表中的元素數量:
for (int i = 0; i < fruits.Count; i++)
{
Console.WriteLine(fruits[i]);
}for (int i = 0; i < fruits.Count; i++)
{
Console.WriteLine(fruits[i]);
}For i As Integer = 0 To fruits.Count - 1
Console.WriteLine(fruits(i))
Next i要將列表按升序排列,請使用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 }Dim unsortedNumbers As New List(Of Integer) From {5, 2, 8, 1, 4}
unsortedNumbers.Sort()
' Now, unsortedNumbers is { 1, 2, 4, 5, 8 }要以降序排列列表,可以使用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 }unsortedNumbers.Sort(Function(a, b) b.CompareTo(a))
' Now, unsortedNumbers is { 8, 5, 4, 2, 1 }若需進行更複雜的排序,可以實作自訂的IComparer類別或使用LINQ(語言整合查詢)。 二分搜尋演算法適用於已排序的列表。
LINQ 允許您對集合(包含列表)執行強大的查詢和轉換。 要使用 LINQ,首先需要在類別程式碼中包含 System.Linq 命名空間:
using System.Linq;using System.Linq;Imports System.Linq以下是一些在列表上的 LINQ 查詢範例:
List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList();List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList();Dim evenNumbers As List(Of Integer) = numbers.Where(Function(x) x Mod 2 = 0).ToList()List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();Dim fruitNamesUpperCase As List(Of String) = fruits.Select(Function(x) x.ToUpper()).ToList()int minValue = numbers.Min();
int maxValue = numbers.Max();int minValue = numbers.Min();
int maxValue = numbers.Max();Dim minValue As Integer = numbers.Min()
Dim maxValue As Integer = numbers.Max()要將清單轉換為陣列,您可以使用 ToArray 方法:
int[] numbersArray = numbers.ToArray();int[] numbersArray = numbers.ToArray();Dim numbersArray() As Integer = numbers.ToArray()在本節中,我們將演示如何使用IronPDF庫將列表中的數據導出為PDF檔案。 當您想生成報告或數據的可列印版本時,這可能會很有幫助。
首先,下載並安裝 IronPDF NuGet 套件到您的專案:
Install-Package IronPdf
接下來,在您的代碼中包含IronPdf命名空間:
using IronPdf;using IronPdf;Imports IronPdf現在,讓我們創建一個簡單的函數,將字串的List轉換成 HTML 表格,然後導出到 PDF 文件:
using System.Collections.Generic;
using IronPdf;
using System.Text;
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 specified object
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 IronPdf;
using System.Text;
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 specified object
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath);
}Imports System.Collections.Generic
Imports IronPdf
Imports System.Text
Private Sub ExportListToPdf(ByVal data As List(Of String), ByVal pdfFilePath As String)
' Create an HTML table from the list data
Dim htmlBuilder As New StringBuilder()
htmlBuilder.Append("<table><tr><th>Item</th></tr>")
For Each item As String In data
htmlBuilder.Append($"<tr><td>{item}</td></tr>")
Next item
htmlBuilder.Append("</table>")
' Convert the HTML table to a PDF using IronPDF specified object
Dim renderer = New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())
' Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath)
End Sub要在上述範例中使用此功能,只需用您的列表和所需的 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");Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}
ExportListToPdf(fruits, "Fruits.pdf")這將生成一個名為「Fruits.pdf」的 PDF 文件,該文件包含根據使用 IronPDF 將 HTML 轉換為 PDF,符合指定條件的水果容量列表表格。 您可以修改ExportListToPdf函數以滿足您的需求,例如為HTML表格添加自訂樣式或向PDF添加其他內容。

在這個適合初學者的教程中,我們介紹了如何使用 C# 列表的基礎知識,並演示了如何整合 IronPDF 將列表數據匯出到 PDF 檔案。通過將 IronPDF 整合到您的專案中,您可以輕鬆生成報告、發票或其他可列印的文件,通過您的 C# 專案。
IronPDF 提供免費試用,讓您在購買前測試其功能。 如果您決定在試用期後繼續使用IronPDF,授權費用開始於$749,並提供多種授權選擇以符合您的需求。