跳至頁尾內容
.NET幫助

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

陣列是C#中的基本資料結構,可讓開發者儲存和操作元素的集合。 使用陣列的一個關鍵方面就是了解陣列的長度,因為這直接影響我們如何存取、操作和迭代陣列元素。 有多種型別的陣列,並且可以是多維的,如單維陣列、不規則陣列或多維陣列。

在本綜合指南中,我們將深入探討C#陣列長度屬性的概念,涵蓋其重要性、確定方法及最佳實踐。 我們還可以使用C#陣列和C# PDF Library, IronPDF來建立和查找PDF陣列。

1. 什麼是陣列長度?

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

2. 確定陣列長度

2.1. 使用Length屬性

檢索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. 陣列長度與陣列維數

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

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#陣列長度(開發者如何運作):圖1 - IronPDF網頁

IronPDF是一個強大的C#程式庫,可讓開發者在其.NET應用程式中建立、操作和呈現PDF文件。 無論您是開發Web應用程式、桌面應用程式或任何其他.NET專案,IronPDF都簡化了處理PDF的過程,提供強大的功能集來生成、編輯和管理PDF文件。

IronPDF的突出功能是其HTML到PDF的轉換能力,這保持了您的版面和樣式不變。 它允許從Web內容生成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文件名的陣列(PdfDocument物件。 通過一個迴圈,使用IronPDF的pdfArray。 最後,程式碼將結果pdfArray的長度列印到控制台,提供有關處理和儲存的PDF數量的資訊。

C#陣列長度(開發者如何運作):圖2 - 前面程式碼範例的控制台輸出

結論

這篇文章提供了與C#陣列長度相關的重要概念的綜合概述,強調了它們在陣列操作中的重要性。 探索了確定陣列長度的方法、長度和維數之間的區別及最佳實踐。

該指南還介紹了IronPDF,一個強大的C#程式庫,用於PDF處理,展示了其在開啟現有的PDF文件、建立PdfDocument物件並儲存在陣列中的實際應用。 這本簡明而資訊豐富的指南是C#開發者掌握陣列操作及利用IronPDF在應用程式中有效處理PDF相關任務的寶貴資源。

為進一步探索IronPDF的可能性並釋放其全部潛力,開發者可以利用IronPDF免費試用授權。 要了解更多有關使用IronPDF生成和編輯PDF的資訊,請參見IronPDF文件檔案,有關閱讀PDF文件的教程,請參訪此IronPDF PDFReader C#教程

常見問題

如何在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套件管理器。例如,您可以使用命令:Install-Package IronPdf來安裝IronPDF。

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

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

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

IronPDF提供RenderHtmlAsPdf等方法將HTML內容轉換為PDF格式,簡化了從Web內容生成PDF的過程。

Jacob Mellor,首席技術官 @ Team Iron
首席技術官

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

Jacob擁有曼徹斯特大學的土木工程一等榮譽學士學位(BEng),於1998-2001年之間獲得。在1999年於倫敦創辦他的第一家軟體公司並於2005年建立了他的第一批.NET元組件後,他專注於解決Microsoft生態系統中的複雜問題。

他的旗艦IronPDF和Iron Suite .NET程式庫在全球獲得了超過3000萬次NuGet安裝依據,他的基礎程式碼基繼續支援著世界各地開發者使用的工具。擁有25年的商業經驗和41年的程式設計專業知識,他仍專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話