跳過到頁腳內容
.NET幫助

C# 數組長度(對於開發者的運行原理)

陣列是 C# 中的基本資料結構,可讓開發人員儲存和操作元素集合。 使用陣列的一個關鍵方面是了解陣列的長度,因為它直接影響我們如何存取、操作和遍歷陣列元素。 陣列有許多種類,而且可以超過一個維度,像是單維陣列、鋸齒狀陣列或多維陣列。

在本綜合指南中,我們將深入探討 C# 陣列長度屬性的概念,涵蓋其意義、判定方式以及最佳實作。 我們也可以使用 C# 陣列和 C# PDF Library, IronPDF 來建立和尋找 PDF 陣列。

1.什麼是陣列長度?

在 C# 中,陣列的長度代表它可以容納的元素數量。 與某些動態資料結構不同,陣列的大小在初始化時是固定的(如三維整數陣列)。 陣列長度是一個關鍵參數,會影響各種作業並確保適當的記憶體分配。

2.確定陣列長度

2.1.使用長度屬性

擷取 C# 陣列中元素長度的最直接方法是透過 Length 屬性。 此屬性是所有陣列實體的固有屬性,而 Length 屬性會回傳元素的總數。

int[] numbers = { 1, 2, 3, 4, 5 };
int arrayLength = numbers.Length; // arrayLength will be 5
int[] numbers = { 1, 2, 3, 4, 5 };
int arrayLength = numbers.Length; // arrayLength will be 5
Dim numbers() As Integer = { 1, 2, 3, 4, 5 }
Dim arrayLength As Integer = numbers.Length ' arrayLength will be 5
$vbLabelText   $csharpLabel

2.2.循環迭代

雖然使用 Length 物業變數的效率較低,但使用循環迭代陣列也可讓您確定其長度。

int[] numbers = { 1, 2, 3, 4, 5 };
int arrayLength = 0;
foreach (var item in numbers)
{
    arrayLength++;
}
// arrayLength will be 5
int[] numbers = { 1, 2, 3, 4, 5 };
int arrayLength = 0;
foreach (var item in numbers)
{
    arrayLength++;
}
// arrayLength will be 5
Dim numbers() As Integer = { 1, 2, 3, 4, 5 }
Dim arrayLength As Integer = 0
For Each item In numbers
	arrayLength += 1
Next item
' arrayLength will be 5
$vbLabelText   $csharpLabel

值得注意的是,使用 Length 屬性是提高效率的首選,尤其是對於大型陣列。

3.陣列長度 vs. 陣列順序

理解陣列長度和陣列級別之間的區別至關重要。 長度是指一元陣列中元素的總數,如上述範例所示。 另一方面,秩代表多維陣列中的維數。

int[] dimension = new int[5]; // One-dimensional int array, Length: 5, Rank: 1
string[,] dimensionTwo = new string[3, 4]; // Two-dimensional string array, Length: 3 * 4 = 12, Rank: 2
int[] dimension = new int[5]; // One-dimensional int array, Length: 5, Rank: 1
string[,] dimensionTwo = new string[3, 4]; // Two-dimensional string array, Length: 3 * 4 = 12, Rank: 2
Dim dimension(4) As Integer ' One-dimensional int array, Length: 5, Rank: 1
Dim dimensionTwo(2, 3) As String ' Two-dimensional string array, Length: 3 * 4 = 12, Rank: 2
$vbLabelText   $csharpLabel

區分這些概念對於使用多維陣列和單維陣列進行正確的陣列初始化、操作、控制和存取是非常重要的。

4.最佳實務與注意事項

4.1.陣列長度和索引。

存取陣列中的元素時,請務必確保索引在陣列長度的範圍內。 嘗試存取有效值範圍以外的索引將導致 IndexOutOfRangeException

int[] numbers = { 1, 2, 3, 4, 5 };
// Incorrect usage leading to IndexOutOfRangeException
// int value = numbers[10]; // Avoid accessing elements beyond the array length
int[] numbers = { 1, 2, 3, 4, 5 };
// Incorrect usage leading to IndexOutOfRangeException
// int value = numbers[10]; // Avoid accessing elements beyond the array length
Dim numbers() As Integer = { 1, 2, 3, 4, 5 }
' Incorrect usage leading to IndexOutOfRangeException
' int value = numbers[10]; // Avoid accessing elements beyond the array length
$vbLabelText   $csharpLabel

4.2.動態調整大小

請記住,陣列的長度在初始化後是固定的。 如果需要動態調整大小,請考慮使用其他可動態成長或縮小的資料結構,例如 List

List<int> dynamicList = new List<int>();
dynamicList.Add(1);
dynamicList.Add(2);
// No fixed length; the list can dynamically grow
List<int> dynamicList = new List<int>();
dynamicList.Add(1);
dynamicList.Add(2);
// No fixed length; the list can dynamically grow
Dim dynamicList As New List(Of Integer)()
dynamicList.Add(1)
dynamicList.Add(2)
' No fixed length; the list can dynamically grow
$vbLabelText   $csharpLabel

5.IronPDF 簡介。

C# Array Length (How It Works For Developers):圖 1 - IronPdf 網頁

IronPDF 是一個功能強大的 C# 函式庫,可讓開發人員在其 .NET 應用程式中建立、處理和呈現 PDF 文件。 無論您是在開發 Web 應用程式、桌面應用程式或任何其他 .NET 專案,IronPDF 都能簡化處理 PDF 的流程,提供一套強大的功能來產生、編輯和處理 PDF 檔案。

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
$vbLabelText   $csharpLabel

有了 IronPDF,開發人員可以將 PDF 功能無縫整合到應用程式中,從而建立動態且互動的 PDF 文件。 它支援多種任務,包括從 HTML 產生 PDF、將文字和圖片新增至現有的 PDF、從 PDF 擷取資料等等。

5.1.安裝 IronPdf

使用 NuGet 套件管理員控制台安裝 IronPDF:

Install-Package IronPdf

此指令會將 IronPDF 函式庫及其相依性下載並安裝到您的 .NET 專案中。 安裝完成後,您可以匯入必要的命名空間,開始在您的應用程式中使用 IronPDF。

5.2.IronPdf:使用 C# 陣列找出 PDF 陣列長度

using IronPdf;
using System;
using System.Linq;

class Program
{
    public static void Main()
    {
        // PDF files to open
        string[] pdfFiles = { "GeneratedPDF_1.pdf", "GeneratedPDF_2.pdf", "GeneratedPDF_3.pdf" };
        PdfDocument[] pdfArray = new PdfDocument[pdfFiles.Length];

        // Counter to keep track of the index
        int index = 0;

        // Loop to open each PDF and extract information
        foreach (string pdfFile in pdfFiles)
        {
            // Load PDF document
            var pdfDocument = PdfDocument.FromFile(pdfFile);
            pdfArray[index++] = pdfDocument; // Add document to array, increment index
        }

        int arrayLength = pdfArray.Length;
        Console.WriteLine("PDF array Length: " + arrayLength);
    }
}
using IronPdf;
using System;
using System.Linq;

class Program
{
    public static void Main()
    {
        // PDF files to open
        string[] pdfFiles = { "GeneratedPDF_1.pdf", "GeneratedPDF_2.pdf", "GeneratedPDF_3.pdf" };
        PdfDocument[] pdfArray = new PdfDocument[pdfFiles.Length];

        // Counter to keep track of the index
        int index = 0;

        // Loop to open each PDF and extract information
        foreach (string pdfFile in pdfFiles)
        {
            // Load PDF document
            var pdfDocument = PdfDocument.FromFile(pdfFile);
            pdfArray[index++] = pdfDocument; // Add document to array, increment index
        }

        int arrayLength = pdfArray.Length;
        Console.WriteLine("PDF array Length: " + arrayLength);
    }
}
Imports IronPdf
Imports System
Imports System.Linq

Friend Class Program
	Public Shared Sub Main()
		' PDF files to open
		Dim pdfFiles() As String = { "GeneratedPDF_1.pdf", "GeneratedPDF_2.pdf", "GeneratedPDF_3.pdf" }
		Dim pdfArray(pdfFiles.Length - 1) As PdfDocument

		' Counter to keep track of the index
		Dim index As Integer = 0

		' Loop to open each PDF and extract information
		For Each pdfFile As String In pdfFiles
			' Load PDF document
			Dim pdfDocument = PdfDocument.FromFile(pdfFile)
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: pdfArray[index++] = pdfDocument;
			pdfArray(index) = pdfDocument ' Add document to array, increment index
			index += 1
		Next pdfFile

		Dim arrayLength As Integer = pdfArray.Length
		Console.WriteLine("PDF array Length: " & arrayLength)
	End Sub
End Class
$vbLabelText   $csharpLabel

此 C# 程式碼利用 IronPDF 函式庫來開啟和處理現有的 PDF 檔案。 它定義了一個 PDF 檔案名稱的陣列 (pdfFiles),並建立了一個空陣列 (pdfArray) 來儲存 PdfDocument 物件。 通過一個循環,它使用 IronPDF 的 PdfDocument.FromFile 方法打開每個 PDF 檔案,為每個檔案建立一個 PdfDocument 物件。然後,pdfArray 將被填入這些物件。 最後,程式碼會將產生的 pdfArray 的長度列印到控制台,提供有關處理和儲存 PDF 數量的資訊。

C# Array Length (How It Works For Developers):圖 2 - 上一個程式碼範例的控制台輸出

結論

本文已全面概述與 C# 陣列長度相關的關鍵概念,強調其在陣列操作中的重要性。 探討了決定陣列長度、長度與等級之間的區別以及最佳實務的方法。

本指南還介紹了 IronPDF 這個用於 PDF 處理的強大 C# 函式庫,並示範了其在打開已有 PDF 檔案、建立 PdfDocument 物件,以及將其存入陣列中的實際用途。 對於希望掌握陣列操作並利用 IronPDF 在其應用程式中執行高效 PDF 相關工作的 C# 開發人員而言,這本簡明但內容豐富的指南可作為寶貴的資源。

若要進一步探索 IronPdf 的可能性並發揮其全部潛力,開發人員可以利用 IronPDF 免費試用授權。 若要瞭解更多關於使用 IronPDF 產生和編輯 PDF 的資訊,請造訪 IronPDF 文件,若要閱讀 PDF 檔案的教學,請造訪此 IronPDF PDFReader C# Tutorial

常見問題解答

如何在 C# 中判斷陣列的長度?

在 C# 中,您可以使用 Length 屬性來確定陣列的長度。此屬性會返回陣列中元素的總數,此數值會在初始化時設定並維持不變。

C# 中的陣列長度與陣列等級有何差異?

陣列長度是指陣列中元素的總數,而陣列等級則代表多維陣列中的維數。例如,二維陣列的秩為 2。

您可以在 C# 中初始化陣列後改變其長度嗎?

不可以,在 C# 中,陣列的長度一旦在初始化時設定,就無法變更。如果您需要可調整大小的集合,請考慮使用 List 類。

如何避免 C# 中的 IndexOutOfRangeException?

為避免發生 IndexOutOfRangeException,請務必確保您的索引在陣列的範圍內,從 0 到 array.Length - 1

在使用 C# 處理 PDF 文件時,陣列的實際用途是什麼?

陣列可用於在 C# 中儲存和處理 PDF 文件集合。透過建立 PdfDocument 物件的陣列,您可以使用 IronPDF 等函式庫所提供的方法,有效率地管理多個 PDF。

如何在 .NET 專案中安裝 PDF 操作函式庫?

若要在 .NET 專案中安裝 PDF 操作函式庫,請使用 NuGet Package Manager。例如,您可以使用命令Install-Package IronPdf 來安裝 IronPDF。

在 C# 中使用陣列長度的最佳作法是什麼?

最佳實作包括使用 Length 屬性以提高效率、檢查索引以防止越界錯誤,以及在需要動態調整大小的情況下使用 List

IronPDF 如何促進在 C# 中將 HTML 轉換為 PDF?

IronPDF 提供了一些方法,例如 RenderHtmlAsPdf 來將 HTML 內容轉換成 PDF 格式,簡化了 C# 應用程式中從網頁內容產生 PDF 的過程。

Jacob Mellor, Team Iron 首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技術官,作為 C# PDF 技術的先鋒工程師。作為 Iron Software 核心代碼的原作者,他自開始以來塑造了公司產品架構,與 CEO Cameron Rimington 一起將其轉變為一家擁有超過 50 名員工的公司,為 NASA、特斯拉 和 全世界政府機構服務。

Jacob 持有曼徹斯特大學土木工程一級榮譽学士工程學位(BEng) (1998-2001)。他於 1999 年在倫敦開設了他的第一家軟件公司,並於 2005 年製作了他的首個 .NET 組件,專注於解決 Microsoft 生態系統內的複雜問題。

他的旗艦產品 IronPDF & Iron Suite .NET 庫在全球 NuGet 被安裝超過 3000 萬次,其基礎代碼繼續為世界各地的開發工具提供動力。擁有 25 年的商業經驗和 41 年的編碼專業知識,Jacob 仍專注於推動企業級 C#、Java 及 Python PDF 技術的創新,同時指導新一代技術領袖。