C# ArrayList(開發者使用指南)
ArrayList 類屬於 .NET Framework 的集合命名空間,設計用來儲存物件集合。 這是一個非一般的集合,意即它可以容納任何資料類型的項目。 此功能使其具有高度彈性,但相較於一般集合,其類型安全性較低。 ArrayList 可包含重複元素,並允許在新增或移除有效值時動態調整大小。 在這篇文章中,我們將討論 ArrayList 的基礎知識和 IronPDF Library Features。
ArrayList 的基礎知識
ArrayList 本質上是一個非一般的集合,能夠儲存任何資料類型的多個元素,使其成為各種程式設計情境的多用途選擇。 能夠不受固定大小的限制,隨意增加元素或移除項目是其主要特色之一。 ArrayList 會自動調整其大小以容納新元素,這項功能是透過實作 IList 介面而實現的。 這種動態大小調整對於需要在生命週期中具有不同元素數量的集合的應用程式而言至關重要。
當您實體化成 ArrayList 時,您所建立的集合可以容納任何物件值,從整數、字串到複雜的自訂物件。 向 ArrayList 中添加元素非常簡單,這要歸功於 Add 和 Insert等方法,Add 可以將物件值追加到集合的末尾,而 Insert則可以在指定索引處放置新項目,並在必要時移動現有元素以騰出空間。 這種靈活性可讓開發人員更有效地管理集合,隨著應用程式的演進而適應其需求。
使用元素工作
向 ArrayList 中添加元素既简单又直观。例如,請考慮您正在建立各種類型資料集合的情況。 使用 Add 方法,您可以將任何物件追加到 ArrayList 中,從字串到整數,甚至是其他集合。 ArrayList 的容量會根據需要自動增加,確保總有空間容納新的物件 obj 元素。 相較於需要手動調整大小或建立新陣列以容納更多元素的傳統陣列,這種自動調整大小的功能具有顯著的優勢。
ArrayList 也提供了在特定位置或 int 索引插入和移除元素的方法。 Insert 方法允許您在指定的位置新增元素,有效地讓您可以在集合中的任何指定索引位置精確地放置新項目。 同樣地,Remove 和 RemoveAt 方法可透過指定要移除的物件或其在集合中的索引,方便刪除項目。 ArrayList 內元素的這種粒度控制使其成為管理動態資料的強大工具。
建立與新增元件
若要開始使用 ArrayList,您首先需要建立一個它的實例。 然後,您可以使用 Add 方法將元素新增至 ArrayList 中,此方法會將物件插入 ArrayList 的末端。
using System;
using System.Collections;
class Program
{
// The main entry point of the program
public static void Main()
{
// Create a new ArrayList
ArrayList myArrayList = new ArrayList();
// Add elements of different types
myArrayList.Add("Hello");
myArrayList.Add(100);
var item = "World";
myArrayList.Add(item);
// Iterate through the ArrayList and print each element
foreach (var obj in myArrayList)
{
Console.WriteLine(obj);
}
}
}using System;
using System.Collections;
class Program
{
// The main entry point of the program
public static void Main()
{
// Create a new ArrayList
ArrayList myArrayList = new ArrayList();
// Add elements of different types
myArrayList.Add("Hello");
myArrayList.Add(100);
var item = "World";
myArrayList.Add(item);
// Iterate through the ArrayList and print each element
foreach (var obj in myArrayList)
{
Console.WriteLine(obj);
}
}
}
本範例示範如何建立新的 ArrayList 並新增不同類型的元素。 然後,foreach 環路會遍歷 ArrayList,列印每個元素。
插入元素
若要在指定索引處插入元素,請使用 Insert 方法,注意這是一個基於零的索引系統。
// Insert element at index 1
myArrayList.Insert(1, "Inserted Item");// Insert element at index 1
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 0myArrayList.Remove("Hello"); // Removes the first occurrence of "Hello"
myArrayList.RemoveAt(0); // Removes the element at index 0範例:管理 ArrayList
在 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();
}
}本程式碼片段示範如何:
- 使用一組元素初始化 ArrayList。
- 在 ArrayList 中加入單元素和多元素。
- 按值和索引移除元素。
- 排序 ArrayList 以順序排列元素。
- 搜尋元素並找到其索引。
- 將 ArrayList 轉換為標準的陣列。
- 使用 LINQ 與 ArrayList 篩選出偶數,展示如何利用 LINQ 強大的查詢功能橋接非一般的集合。

IronPDF 簡介:C# PDF Library

IronPDF 是一個功能強大的 C# 函式庫,可簡化複雜的 PDF 生成過程,提供廣泛的 PDF 操作功能,包括 從 HTML 生成 PDF、新增文字和圖片、保全文件等。
整合 IronPDF 與 ArrayList。
讓我們寫一個簡單的 C# 程式,建立一個 ArrayList 的項目,然後用 IronPDF 產生一個 PDF 文件,列出這些項目。
using IronPdf;
using System;
using System.Collections;
class PdfCode
{
static void Main(string[] args)
{
// Set your IronPDF license key here
IronPdf.License.LicenseKey = "Your_License_Key";
// 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("ItemList.pdf");
Console.WriteLine("PDF file 'ItemList.pdf' has been generated.");
}
}using IronPdf;
using System;
using System.Collections;
class PdfCode
{
static void Main(string[] args)
{
// Set your IronPDF license key here
IronPdf.License.LicenseKey = "Your_License_Key";
// 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("ItemList.pdf");
Console.WriteLine("PDF file 'ItemList.pdf' has been generated.");
}
}在這個範例中,我們首先建立一個名為 itemList 的 ArrayList 並將數個字串項目填入其中。 接下來,我們初始化 IronPDF 的 ChromePdfRenderer 類的新實例,我們將用它來將 HTML 內容轉換成 PDF 文件。
輸出
以下是 IronPDF 生成的输出 PDF:

結論

ArrayList 是 C# 提供的功能強大的集合,用來儲存物件清單。 它能夠動態調整大小並儲存任何類型的元素,因此用途廣泛。 但是,為了類型安全和更好的效能,建議使用泛型集合。 實驗使用 ArrayList 及其方法將有助於您瞭解其用途以及如何將其融入您的應用程式。
此外,對於那些有興趣將其 C# 功能擴展到 PDF 操作的人,IronPDF 提供 PDF Functions in .NET 免費試用,以探索其功能。 授權從 $799 開始,提供將 PDF 功能整合至 .NET 應用程式的全面解決方案。
常見問題解答
如何在 C# 中將 ArrayList 轉換為 PDF?
您可以使用 IronPDF 從 C# 中的 ArrayList 產生 PDF。遍歷 ArrayList 將內容編譯成適合產生 PDF 的格式,然後使用 IronPDF 的方法建立並儲存 PDF。
將 IronPDF 與 ArrayList 結合使用有哪些好處?
IronPDF 讓開發人員可以輕鬆地將儲存在 ArrayList 中的資料轉換為 PDF 文件。這對於以最少的程式碼和最高的效率建立報表或匯出專案清單非常有用。
我可以在 ArrayList 產生的 PDF 文件中添加文字和圖像嗎?
是的,使用 IronPDF,您可以透過遍歷 ArrayList 中的項目,並添加文字、圖像和其他內容來自訂 PDF。
是否可以對 C# 中由 ArrayList 產生的 PDF 檔案進行加密?
IronPDF 提供多種功能來保護您的 PDF 文件。您可以設定密碼和權限,以限制從 ArrayList 中的資料產生的 PDF 的存取和編輯。
在與 PDF 庫整合時,動態調整大小對 ArrayList 有哪些好處?
ArrayList 的動態調整大小功能可確保您可以根據需要新增或刪除元素,而無需擔心其容量限制。這種靈活性在使用 IronPDF 等庫準備用於生成 PDF 的數據時非常有用。
對於 C# 開發人員來說,使用 IronPDF 有什麼優勢?
IronPDF 為 C# 開發人員提供了一套強大的工具集,用於產生和操作 PDF 文件。它支援各種功能,例如 HTML 轉 PDF、添加註釋和合併多個 PDF,使其成為 .NET 應用程式必不可少的庫。
在建立 PDF 時,如何處理 ArrayList 中的不同資料類型?
由於 ArrayList 可以儲存任何資料類型,因此您可以使用 IronPDF 透過遍歷 ArrayList 並套用必要的轉換,將這些不同的資料類型格式化並轉換為一個統一的 PDF 文件。
使用 IronPDF 處理 ArrayList 時有哪些故障排除技巧?
在將 ArrayList 轉換為 PDF 之前,請確保其中的資料格式正確。檢查是否存在空值和不相容的資料類型,並使用 IronPDF 偵錯工具來識別和解決 PDF 生成過程中出現的任何問題。







