在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
ArrayList 類別是 .NET Framework 集合命名空間的一部分,旨在儲存物件的集合。 它是一個非泛型集合,這意味著它可以容納任何數據類型的項目。 這個功能讓它具有高度的靈活性,但相比於泛型集合,類型安全性較低。 這陣列列表可以包含重複的元素,並允許在添加或移除有效值時動態調整大小。 在本文中,我們將討論 ArrayList 的基礎知識和IronPDF 庫功能.
ArrayList 本質上是一個非泛型集合,能夠存儲任何資料類型的多個元素,使其成為各種程式設計情境中的多功能選擇。 能夠隨意添加元素或移除項目而不受固定大小限制是其關鍵特徵之一。 ArrayList 會自動調整其大小以容納新元素,這一功能是通過其實現 IList 介面得以實現的。 這種動態調整大小對於需要在其生命週期內具有可變數量元素集合的應用程式至關重要。
當您實例化一個 ArrayList 時,您正在創建一個可以容納任何物件值的集合,從整數和字串到複雜的自訂物件。 由於像 Add 這樣的方法,使得向 ArrayList 添加元素變得簡單,Add 將物件值附加到集合的末尾,而 Insert 則在指定索引處放置一個新項目,在必要時移動現有元素以騰出空間。 這種靈活性使開發者能夠更有效地管理集合,隨著應用程式發展而適應其需求。
將元素添加到 ArrayList 是簡單且直觀的。舉例來說,考慮一個情境,您正在建立一個包含各種類型數據的集合。 使用 Add 方法,可以將任何物件添加到 ArrayList 中,從字串到整數,甚至其他集合。 ArrayList 的容量會根據需要自動增加,確保總有空間可容納新的物件 obj 元素。 這種自動調整大小是相比傳統陣列的一大優勢,傳統陣列需要手動調整大小或創建新陣列來容納更多元素。
ArrayList 也提供了一些方法,用來在特定位置或整數索引處插入和移除元素。 Insert 方法允許您在指定位置添加一個元素,有效地讓您可以在集合中的任何指定索引處精確地放置新項目。 同樣地,Remove 和 RemoveAt 方法有助於刪除項目,可以通過指定要移除的對象或其在集合中的索引來進行。 對 ArrayList 中元素的細粒度控制使其成為管理動態數據的強大工具。
要開始使用 ArrayList,您首先需要創建一個實例。 然後,您可以使用 Add 方法向 ArrayList 添加元素,該方法會將物件插入到 ArrayList 的末尾。
class Program
{
// public static void main
public static void Main()
{
ArrayList myArrayList = new ArrayList();
myArrayList.Add("Hello");
myArrayList.Add(100);
var item = "World";
myArrayList.Add(item);
foreach (var obj in myArrayList)
{
Console.WriteLine(obj);
}
}
}
class Program
{
// public static void main
public static void Main()
{
ArrayList myArrayList = new ArrayList();
myArrayList.Add("Hello");
myArrayList.Add(100);
var item = "World";
myArrayList.Add(item);
foreach (var obj in myArrayList)
{
Console.WriteLine(obj);
}
}
}
Friend Class Program
' public static void main
Public Shared Sub Main()
Dim myArrayList As New ArrayList()
myArrayList.Add("Hello")
myArrayList.Add(100)
Dim item = "World"
myArrayList.Add(item)
For Each obj In myArrayList
Console.WriteLine(obj)
Next obj
End Sub
End Class
此範例展示如何創建新的 ArrayList 並向其中添加不同類型的元素。 foreach 迴圈接著會遍歷 ArrayList,並印出每個元素。
要在指定索引處插入元素,請使用 Insert 方法,注意這是以零為基礎的索引系統。
myArrayList.Insert(1, "Inserted Item");
myArrayList.Insert(1, "Inserted Item");
myArrayList.Insert(1, "Inserted Item")
若要移除元素,Remove 和 RemoveAt 方法非常有用。 Remove 刪除特定物件的第一個出現,而 RemoveAt 刪除位於指定整數索引的元素。
myArrayList.Remove("Hello"); // Removes the first occurrence of "Hello"
myArrayList.RemoveAt(0); // Removes the element at index 0
myArrayList.Remove("Hello"); // Removes the first occurrence of "Hello"
myArrayList.RemoveAt(0); // Removes the element at index 0
myArrayList.Remove("Hello") ' Removes the first occurrence of "Hello"
myArrayList.RemoveAt(0) ' Removes the element at index 0
要在 C# 中創建 ArrayList 的進階範例,不僅涉及添加或移除元素等基本操作,還包括排序、搜尋及將 ArrayList 轉換為其他資料結構等更複雜的操作。 將以下範例放在 Program.cs 文件中以執行:
using System;
using System.Collections;
using System.Linq;
class AdvancedArrayListExample
{
static void Main(string [] args)
{
// Initialize an ArrayList with some elements
ArrayList numbers = new ArrayList() { 5, 8, 1, 3, 2 };
// Adding elements
numbers.Add(6); // Add an element to the end
numbers.AddRange(new int [] { 7, 9, 0 }); // Add multiple elements from a specified collection.
Console.WriteLine("Initial ArrayList:");
foreach (int number in numbers)
{
Console.Write(number + " ");
}
Console.WriteLine("\n");
// Removing elements
numbers.Remove(1); // Remove the element 1
numbers.RemoveAt(0); // Remove the first element
Console.WriteLine("After Removal:");
foreach (int number in numbers)
{
Console.Write(number + " ");
}
Console.WriteLine("\n");
// Sorting
numbers.Sort(); // Sort the ArrayList
Console.WriteLine("Sorted ArrayList:");
foreach (int number in numbers)
{
Console.Write(number + " ");
}
Console.WriteLine("\n");
// Searching
int searchFor = 5;
int index = numbers.IndexOf(searchFor); // Find the index of the element
if (index != -1)
{
Console.WriteLine($"Element {searchFor} found at index {index}");
}
else
{
Console.WriteLine($"Element {searchFor} not found.");
}
Console.WriteLine("\n");
// Converting ArrayList to Array
int [] numbersArray = (int [])numbers.ToArray(typeof(int));
Console.WriteLine("Converted Array:");
foreach (int number in numbersArray)
{
Console.Write(number + " ");
}
Console.WriteLine("\n");
// Demonstrate LINQ with ArrayList (Requires System.Linq)
var evenNumbers = numbers.Cast<int>().Where(n => n % 2 == 0).ToList(); // Assign values to evenNumbers from the filtered results.
Console.WriteLine("Even Numbers:");
evenNumbers.ForEach(n => Console.Write(n + " "));
Console.WriteLine();
}
}
using System;
using System.Collections;
using System.Linq;
class AdvancedArrayListExample
{
static void Main(string [] args)
{
// Initialize an ArrayList with some elements
ArrayList numbers = new ArrayList() { 5, 8, 1, 3, 2 };
// Adding elements
numbers.Add(6); // Add an element to the end
numbers.AddRange(new int [] { 7, 9, 0 }); // Add multiple elements from a specified collection.
Console.WriteLine("Initial ArrayList:");
foreach (int number in numbers)
{
Console.Write(number + " ");
}
Console.WriteLine("\n");
// Removing elements
numbers.Remove(1); // Remove the element 1
numbers.RemoveAt(0); // Remove the first element
Console.WriteLine("After Removal:");
foreach (int number in numbers)
{
Console.Write(number + " ");
}
Console.WriteLine("\n");
// Sorting
numbers.Sort(); // Sort the ArrayList
Console.WriteLine("Sorted ArrayList:");
foreach (int number in numbers)
{
Console.Write(number + " ");
}
Console.WriteLine("\n");
// Searching
int searchFor = 5;
int index = numbers.IndexOf(searchFor); // Find the index of the element
if (index != -1)
{
Console.WriteLine($"Element {searchFor} found at index {index}");
}
else
{
Console.WriteLine($"Element {searchFor} not found.");
}
Console.WriteLine("\n");
// Converting ArrayList to Array
int [] numbersArray = (int [])numbers.ToArray(typeof(int));
Console.WriteLine("Converted Array:");
foreach (int number in numbersArray)
{
Console.Write(number + " ");
}
Console.WriteLine("\n");
// Demonstrate LINQ with ArrayList (Requires System.Linq)
var evenNumbers = numbers.Cast<int>().Where(n => n % 2 == 0).ToList(); // Assign values to evenNumbers from the filtered results.
Console.WriteLine("Even Numbers:");
evenNumbers.ForEach(n => Console.Write(n + " "));
Console.WriteLine();
}
}
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections
Imports System.Linq
Friend Class AdvancedArrayListExample
Shared Sub Main(ByVal args() As String)
' Initialize an ArrayList with some elements
Dim numbers As New ArrayList() From { 5, 8, 1, 3, 2 }
' Adding elements
numbers.Add(6) ' Add an element to the end
numbers.AddRange(New Integer () { 7, 9, 0 }) ' Add multiple elements from a specified collection.
Console.WriteLine("Initial ArrayList:")
For Each number As Integer In numbers
Console.Write(number & " ")
Next number
Console.WriteLine(vbLf)
' Removing elements
numbers.Remove(1) ' Remove the element 1
numbers.RemoveAt(0) ' Remove the first element
Console.WriteLine("After Removal:")
For Each number As Integer In numbers
Console.Write(number & " ")
Next number
Console.WriteLine(vbLf)
' Sorting
numbers.Sort() ' Sort the ArrayList
Console.WriteLine("Sorted ArrayList:")
For Each number As Integer In numbers
Console.Write(number & " ")
Next number
Console.WriteLine(vbLf)
' Searching
Dim searchFor As Integer = 5
Dim index As Integer = numbers.IndexOf(searchFor) ' Find the index of the element
If index <> -1 Then
Console.WriteLine($"Element {searchFor} found at index {index}")
Else
Console.WriteLine($"Element {searchFor} not found.")
End If
Console.WriteLine(vbLf)
' Converting ArrayList to Array
Dim numbersArray() As Integer = DirectCast(numbers.ToArray(GetType(Integer)), Integer ())
Console.WriteLine("Converted Array:")
For Each number As Integer In numbersArray
Console.Write(number & " ")
Next number
Console.WriteLine(vbLf)
' Demonstrate LINQ with ArrayList (Requires System.Linq)
Dim evenNumbers = numbers.Cast(Of Integer)().Where(Function(n) n Mod 2 = 0).ToList() ' Assign values to evenNumbers from the filtered results.
Console.WriteLine("Even Numbers:")
evenNumbers.ForEach(Sub(n) Console.Write(n & " "))
Console.WriteLine()
End Sub
End Class
此代碼片段演示如何:
使用 LINQ 與 ArrayList 來篩選出偶數,展示如何將非泛型集合與 LINQ 的強大查詢功能結合起來。
IronPDF 是一個功能強大的 C# 函式庫,它簡化了 PDF 生成的複雜過程,提供了廣泛的 PDF 操作功能,包括能够從 HTML 生成 PDF添加文字和圖片、保護文件及更多功能。
讓我們撰寫一個簡單的 C# 程式,創建一個 ArrayList 來存放項目,然後使用 IronPDF 生成列出這些項目的 PDF 文件。
using IronPdf;
using System;
using System.Collections;
class pdfocde
{
static void Main(string [] args)
{
IronPdf.License.LicenseKey = "License";
// Create a new ArrayList and add some items
ArrayList itemList = new ArrayList();
itemList.Add("Apple");
itemList.Add("Banana");
itemList.Add("Cherry");
itemList.Add("Date");
// Initialize a new PDF document
var Renderer = new ChromePdfRenderer();
// Create an HTML string to hold our content
string htmlContent = "<h1>Items List</h1><ul>";
// Iterate over each item in the ArrayList and add it to the HTML string
foreach (var item in itemList)
{
htmlContent += $"<li>{item}</li>";
}
htmlContent += "</ul>";
// Convert the HTML string to a PDF document
var PDF = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF to a file
PDF.SaveAs("e:\\ItemList.pdf");
Console.WriteLine("PDF file 'ItemList.pdf' has been generated.");
}
}
using IronPdf;
using System;
using System.Collections;
class pdfocde
{
static void Main(string [] args)
{
IronPdf.License.LicenseKey = "License";
// Create a new ArrayList and add some items
ArrayList itemList = new ArrayList();
itemList.Add("Apple");
itemList.Add("Banana");
itemList.Add("Cherry");
itemList.Add("Date");
// Initialize a new PDF document
var Renderer = new ChromePdfRenderer();
// Create an HTML string to hold our content
string htmlContent = "<h1>Items List</h1><ul>";
// Iterate over each item in the ArrayList and add it to the HTML string
foreach (var item in itemList)
{
htmlContent += $"<li>{item}</li>";
}
htmlContent += "</ul>";
// Convert the HTML string to a PDF document
var PDF = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF to a file
PDF.SaveAs("e:\\ItemList.pdf");
Console.WriteLine("PDF file 'ItemList.pdf' has been generated.");
}
}
Imports IronPdf
Imports System
Imports System.Collections
Friend Class pdfocde
Shared Sub Main(ByVal args() As String)
IronPdf.License.LicenseKey = "License"
' Create a new ArrayList and add some items
Dim itemList As New ArrayList()
itemList.Add("Apple")
itemList.Add("Banana")
itemList.Add("Cherry")
itemList.Add("Date")
' Initialize a new PDF document
Dim Renderer = New ChromePdfRenderer()
' Create an HTML string to hold our content
Dim htmlContent As String = "<h1>Items List</h1><ul>"
' Iterate over each item in the ArrayList and add it to the HTML string
For Each item In itemList
htmlContent &= $"<li>{item}</li>"
Next item
htmlContent &= "</ul>"
' Convert the HTML string to a PDF document
Dim PDF = Renderer.RenderHtmlAsPdf(htmlContent)
' Save the PDF to a file
PDF.SaveAs("e:\ItemList.pdf")
Console.WriteLine("PDF file 'ItemList.pdf' has been generated.")
End Sub
End Class
在這個例子中,我們首先創建一個名為 itemList 的 ArrayList,並用幾個字串項目來填充它。 接下來,我們初始化一個新的 IronPDF 的 ChromePdfRenderer 類的實例,將用於將 HTML 內容轉換為 PDF 文件。
以下是由 IronPDF 生成的輸出 PDF:
ArrayList 是 C# 提供的一個強大的集合,用於儲存物件的列表。 它能夠動態調整大小並儲存任何類型的元素,這使其在廣泛的應用中非常多才多藝。 然而,為了類型安全和更好的效能,建議使用泛型集合。 嘗試使用 ArrayList 及其方法將有助於您了解其用途以及如何將其融入到您的應用程式中。
此外,對於有興趣擴展他們 C# 能力以進行 PDF 操作的人,IronPDF 提供一個.NET 的 PDF 函數免費試用探索其功能。 授權起價為 $749,提供一個將 PDF 功能整合到 .NET 應用程式中的全面解決方案。