.NET 幫助

C# 初始化陣列(開發人員如何操作)

發佈 2024年3月6日
分享:

陣列是在 C# 中的重要功能,允許開發人員高效地存儲和操作數據集合。 初始化陣列是將初始值分配給其元素的過程。 本指南探討了各種技術和最佳實踐。在 C# 中初始化数组,提供對基本和進階陣列初始化場景的見解。

陣列是一個儲存相同類型元素的集合,並存放在連續的記憶體位置中。 在C#中,陣列用於高效地表示和操作結構化資料。 它們提供對單個數組元素的隨機存取,使執行排序、搜尋和迭代等操作變得容易。

在這篇文章中,我們將學習如何在 C# 程式語言中初始化一個陣列變數,並且我們還會學習如何使用之後建立一個 PDF 文件的陣列。IronPDF for C# 開發人員.

1. 基本陣列初始化

1.1. 宣告與初始化

初始化陣列最簡單的方法是宣告它們並在創建時賦值。 以下是一個使用方括號初始化整數陣列的範例:

int[] numbers = { 1, 2, 3, 4, 5 };
int[] numbers = { 1, 2, 3, 4, 5 };
Dim numbers() As Integer = { 1, 2, 3, 4, 5 }
VB   C#

在此範例中,一個名為 numbers 的陣列被宣告並初始化為五個整數值。 C# 會根據提供的元素數量自動推斷陣列的大小。

1.2. 初始化時指定大小

可以透過明確指定大小來初始化陣列,然後稍後再分配數值。 當需要動態調整陣列大小時,這種方法很有用。 例如:

int[] dynamicArray = new int[5];
// The array is initialized with size 5, and the elements are [0, 0, 0, 0, 0]
// Later in the code...
dynamicArray[2] = 42;
// Now the array becomes [0, 0, 42, 0, 0]
int[] dynamicArray = new int[5];
// The array is initialized with size 5, and the elements are [0, 0, 0, 0, 0]
// Later in the code...
dynamicArray[2] = 42;
// Now the array becomes [0, 0, 42, 0, 0]
Dim dynamicArray(4) As Integer
' The array is initialized with size 5, and the elements are [0, 0, 0, 0, 0]
' Later in the code...
dynamicArray(2) = 42
' Now the array becomes [0, 0, 42, 0, 0]
VB   C#

1.3. 預設值

如果陣列已宣告但未顯式初始化,其元素將根據其資料類型被指派預設值。對於數值類型,預設值是0,對於引用類型,則是null。 例如:

int[] uninitializedArray = new int[3];
// The elements of uninitializedArray are [0, 0, 0]
int[] uninitializedArray = new int[3];
// The elements of uninitializedArray are [0, 0, 0]
Dim uninitializedArray(2) As Integer
' The elements of uninitializedArray are [0, 0, 0]
VB   C#

2. 使用數值初始化陣列

2.1. 陣列初始化語法

C# 提供了一種稱為陣列初始化的簡潔語法,用於使用特定值初始化陣列。 此語法允許您直接在大括號內指定值。 例如,您可以這樣初始化字串陣列:

string[] names = { "Alice", "Bob", "Charlie" };
string[] names = { "Alice", "Bob", "Charlie" };
Dim names() As String = { "Alice", "Bob", "Charlie" }
VB   C#

這將建立一個名為 names 的陣列,包含三個元素,每個元素都初始化為一個字串值。

2.2. 多維陣列

除了單維陣列外,C# 也支援多維陣列。 例如,可以使用以下方式初始化二維陣列:

int[,] matrix = { { 1, 2, 3 }, { 4, 5, 6 } };
int[,] matrix = { { 1, 2, 3 }, { 4, 5, 6 } };
Dim matrix(,) As Integer = {
	{ 1, 2, 3 },
	{ 4, 5, 6 }
}
VB   C#

這裡,矩陣是一個2x3的整數陣列,已初始化為特定的值。

動態數組初始化

3.1. 使用 Enumerable.Range

在需要用一系列連續值初始化數組的情境下,Enumerable.Range 可以非常有用。 它在指定的範圍內生成一個數字序列。 請考慮以下示例:

int[] rangeArray = Enumerable.Range(1, 5).ToArray();
// The int array is initialized with values [1, 2, 3, 4, 5]
int[] rangeArray = Enumerable.Range(1, 5).ToArray();
// The int array is initialized with values [1, 2, 3, 4, 5]
Dim rangeArray() As Integer = Enumerable.Range(1, 5).ToArray()
' The int array is initialized with values [1, 2, 3, 4, 5]
VB   C#

這在您需要一系列數字而不是單獨指定每個值時特別方便。

C# 初始化陣列(開發者指南):圖 1 - Enumerable.Range 程式範例的控制台輸出

3.2. 使用 LINQ

LINQ(語言集成查詢)提供強大的 C# 查詢功能。 您可以使用 LINQ 根據查詢表達式初始化一個數組。 例如:

int[] evenNumbers = (from number in Enumerable.Range(1, 10)
                     where number % 2 == 0
                     select number).ToArray();
// The array is initialized with even values [2, 4, 6, 8, 10]
int[] evenNumbers = (from number in Enumerable.Range(1, 10)
                     where number % 2 == 0
                     select number).ToArray();
// The array is initialized with even values [2, 4, 6, 8, 10]
Dim evenNumbers() As Integer = (
	From number In Enumerable.Range(1, 10)
	Where number Mod 2 = 0
	Select number).ToArray()
' The array is initialized with even values [2, 4, 6, 8, 10]
VB   C#

這種方法更具表現力,並允許在陣列初始化期間進行複雜的過濾和轉換。

C# 初始化陣列(開發人員指南):圖 2 - 前面 LINQ 程式碼範例的控制台輸出

4. 介紹 IronPDF

IronPDF: .NET PDF 庫是一個強大的 C# 函式庫,為開發人員在其 .NET 應用程式中提供無縫的功能,用於創建、操作和處理 PDF 文檔。 無論您需要從 HTML 內容生成 PDF、修改現有文件,還是從 PDF 中提取數據,IronPDF 都提供了全面的功能集。

IronPDF專門從事轉換HTML轉PDF,確保佈局和樣式得以保留。 這是一個從網頁內容生成 PDF 的出色工具,例如報告、發票和文檔。 HTML 檔案、URL 和 HTML 字串都可以轉換成 PDF 檔案。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
VB   C#

透過其使用者友好的 API,開發人員可以輕鬆地將 PDF 功能整合到 C# 專案中,從而高效且動態地處理與 PDF 相關的任務。 IronPDF 因其多功能性和簡單性而脫穎而出,是C#開發人員尋找可靠和靈活的PDF文件解決方案的寶貴工具。

4.1. 安裝 IronPDF

要使用 NuGet 套件管理員主控台在您的 C# 專案中安裝 IronPDF,請開啟 Visual Studio,從檢視選單訪問套件管理員主控台,並確保選擇了正確的專案。 在控制臺中運行命令 "Install-Package IronPdf" 並按下 Enter。

Install-Package IronPdf

允許安裝過程完成,並通過控制台中的確認消息以及檢查「解決方案總管」中的「參考」部分來驗證成功。 IronPDF 現在可以在您的 C# 應用程式中使用,提供強大的 PDF 生成和操作功能。

4.2. IronPDF:使用動態PDF初始化創建PDF

using IronPdf;
using System;
class Program
{
    static void Main()
    {
        // Number of PDFs to generate
        int numberOfPDFs = 3;
        // Array to store PdfDocument objects
        PdfDocument[] pdfArray = new PdfDocument[numberOfPDFs];
        // Content for the PDFs
        string[] names = { "Alice", "Bob", "Charlie" };
        string[] ages = { "25", "30", "22" };
        // Instantiate ChromePdfRenderer
        var renderer = new ChromePdfRenderer();
        // Loop to create and customize each PdfDocument in the array
        for (int i = 0; i < numberOfPDFs; i++)
        {
            // Creating dynamic content using string interpolation
            string content = $@"<html>
                                <body>
                                    <h1>Hello, {names[i]}!</h1>
                                    <p>You are {ages[i]} years old.</p>
                                    <p>This is a dynamically generated PDF.</p>
                                </body>
                                </html>";
            // Create a PDF from HTML using ChromePdfRenderer
            pdfArray[i] = renderer.RenderHtmlAsPdf(content);
        }
        // Save each PDF to a file
        for (int i = 0; i < numberOfPDFs; i++)
        {
            pdfArray[i].SaveAs($"GeneratedPDF_{i + 1}.pdf");
        }
        Console.WriteLine("PDFs generated successfully!");
    }
}
using IronPdf;
using System;
class Program
{
    static void Main()
    {
        // Number of PDFs to generate
        int numberOfPDFs = 3;
        // Array to store PdfDocument objects
        PdfDocument[] pdfArray = new PdfDocument[numberOfPDFs];
        // Content for the PDFs
        string[] names = { "Alice", "Bob", "Charlie" };
        string[] ages = { "25", "30", "22" };
        // Instantiate ChromePdfRenderer
        var renderer = new ChromePdfRenderer();
        // Loop to create and customize each PdfDocument in the array
        for (int i = 0; i < numberOfPDFs; i++)
        {
            // Creating dynamic content using string interpolation
            string content = $@"<html>
                                <body>
                                    <h1>Hello, {names[i]}!</h1>
                                    <p>You are {ages[i]} years old.</p>
                                    <p>This is a dynamically generated PDF.</p>
                                </body>
                                </html>";
            // Create a PDF from HTML using ChromePdfRenderer
            pdfArray[i] = renderer.RenderHtmlAsPdf(content);
        }
        // Save each PDF to a file
        for (int i = 0; i < numberOfPDFs; i++)
        {
            pdfArray[i].SaveAs($"GeneratedPDF_{i + 1}.pdf");
        }
        Console.WriteLine("PDFs generated successfully!");
    }
}
Imports IronPdf
Imports System
Friend Class Program
	Shared Sub Main()
		' Number of PDFs to generate
		Dim numberOfPDFs As Integer = 3
		' Array to store PdfDocument objects
		Dim pdfArray(numberOfPDFs - 1) As PdfDocument
		' Content for the PDFs
		Dim names() As String = { "Alice", "Bob", "Charlie" }
		Dim ages() As String = { "25", "30", "22" }
		' Instantiate ChromePdfRenderer
		Dim renderer = New ChromePdfRenderer()
		' Loop to create and customize each PdfDocument in the array
		For i As Integer = 0 To numberOfPDFs - 1
			' Creating dynamic content using string interpolation
			Dim content As String = $"<html>
                                <body>
                                    <h1>Hello, {names(i)}!</h1>
                                    <p>You are {ages(i)} years old.</p>
                                    <p>This is a dynamically generated PDF.</p>
                                </body>
                                </html>"
			' Create a PDF from HTML using ChromePdfRenderer
			pdfArray(i) = renderer.RenderHtmlAsPdf(content)
		Next i
		' Save each PDF to a file
		For i As Integer = 0 To numberOfPDFs - 1
			pdfArray(i).SaveAs($"GeneratedPDF_{i + 1}.pdf")
		Next i
		Console.WriteLine("PDFs generated successfully!")
	End Sub
End Class
VB   C#
  1. 我們指定要生成 PDF 的數量(numberOfPDFs)並創建一個PdfDocument對象的數組(pdfArray)儲存生成的PDF。

  2. 我們使用迴圈來初始化每個陣列元素類型。 在迴圈內部,我們使用字串插值動態地為每個 PDF 創建內容,包含來自各自陣列的姓名和年齡。

  3. 我們在每次迭代中初始化一個新的 PdfDocument 物件,並使用 IronPDF 的 RenderHtmlAsPdf 方法添加 HTML 內容。

  4. 最後,我們將每個 PDF 儲存為具唯一名稱的檔案。(GeneratedPDF_1.pdfGeneratedPDF_2.pdf 等。).

4.2.1. 生成的 PDF 文件

C# 初始化陣列(適用於開發人員的操作方法):圖 3 - 來自上一段代碼示例的輸出 PDF 文件

5. 結論

掌握 C# 中多樣化的陣列初始化過程,包括基本方法、陣列初始化語法,以及如 Enumerable.Range 和 LINQ 這樣的動態方法,對於有效的數據操作非常重要。 了解陣列長度與維度之間的區別,尤其是在多維陣列中,能確保正確處理。

本教程還介紹了IronPDF 用於 PDF 文件生成. 所提供的範例展示了IronPDF在動態生成個性化PDF方面的有效性,突顯了其多樣性。 總體而言,對陣列初始化的牢固掌握,結合像 IronPDF 這樣的工具,賦予開發人員創建動態且高效應用程序的能力,提升他們有效處理和處理數據的能力。

IronPDF 提供支援和文件,以及如何使用該程式庫的教程。 它還提供一個免費試用許可證. 如需有關IronPDF將HTML轉換為PDF的詳細教程,請訪問IronPDF HTML 轉換為 PDF 指南.

< 上一頁
C# 陣列長度(開發人員如何使用)
下一個 >
C# 結構與類別(開發人員的運作方式)

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >