
C# ArrayList (Funktionsweise für Entwickler)
Die ArrayList-Klasse ist Teil des Collections-Namespace des .NET Frameworks und wurde entworfen, um eine Sammlung von Objekten zu speichern. Es handelt sich um eine nicht-generische Sammlung, was bedeutet, dass sie Elemente jeglichen Datentyps enthalten kann. Dieses Merkmal macht sie extrem flexibel, aber im Vergleich zu generischen Sammlungen weniger typsicher. Die ArrayList kann doppelte Elemente enthalten und erlaubt dynamische Größenänderungen, wenn ein gültiger Wert hinzugefügt oder entfernt wird. In diesem Artikel werden wir die Grundlagen der ArrayList und die IronPDF Library Features besprechen.
Die Grundlagen von ArrayList
Die ArrayList ist im Wesentlichen eine nicht-generische Sammlung, die in der Lage ist, eine Anzahl von Elementen jeglichen Datentyps zu speichern, was sie zu einer vielseitigen Wahl für verschiedene Programmierungsszenarien macht. Die Fähigkeit, Elemente hinzuzufügen oder zu entfernen, ohne die Einschränkungen einer festen Größe, ist eines ihrer Hauptmerkmale. Die ArrayList passt ihre Größe automatisch an, um neue Elemente aufzunehmen, eine Funktion, die durch ihre Implementierung der IList-Schnittstelle ermöglicht wird. Diese dynamische Größenänderung ist entscheidend für Anwendungen, die Sammlungen mit einer unterschiedlichen Anzahl von Elementen im Laufe ihrer Lebensdauer erfordern.
Wenn Sie eine ArrayList instanziieren, erstellen Sie eine Sammlung, die jeden Objektwert aufnehmen kann, von ganzen Zahlen und Zeichenfolgen bis hin zu komplexen benutzerdefinierten Objekten. Das Hinzufügen von Elementen zu einer ArrayList ist dank Methoden wie Add, die einen Objektwert am Ende der Sammlung anfügt, und Insert, die ein neues Element an einem bestimmten Index platziert und vorhandene Elemente bei Bedarf verschiebt, problemlos. Diese Flexibilität ermöglicht Entwicklern, Sammlungen effektiver zu verwalten und an die Bedürfnisse der Anwendung anzupassen, während sie sich weiterentwickelt.
Arbeiten mit Elementen
Das Hinzufügen von Elementen zu einer ArrayList ist einfach und intuitiv. Stellen Sie sich beispielsweise ein Szenario vor, in dem Sie eine Sammlung verschiedener Datentypen erstellen. Mit der Add-Methode können Sie jedes Objekt zu Ihrer ArrayList hinzufügen, von Zeichenfolgen über ganze Zahlen bis hin zu anderen Sammlungen. Die Kapazität der ArrayList wird bei Bedarf automatisch erhöht, sodass stets Platz für neue Objektelemente ist. Diese automatische Größenänderung ist ein wesentlicher Vorteil gegenüber traditionellen Arrays, die eine manuelle Größenänderung oder die Erstellung eines neuen Arrays erfordern, um mehr Elemente aufzunehmen.
Die ArrayList bietet auch Methoden zum Einfügen und Entfernen von Elementen an bestimmten Positionen oder int-Indizes. Die Insert-Methode ermöglicht es Ihnen, ein Element an einer bestimmten Position hinzuzufügen und so neue Elemente genau innerhalb der Sammlung an einem angegebenen Index zu platzieren. Ebenso erleichtern die Methoden Remove und RemoveAt das Löschen von Elementen, entweder durch Angabe des zu löschenden Objekts oder seines Index innerhalb der Sammlung. Diese granulare Kontrolle über die Elemente innerhalb der ArrayList macht sie zu einem leistungsstarken Werkzeug für die Verwaltung dynamischer Daten.
Erstellen und Hinzufügen von Elementen
Um eine ArrayList zu verwenden, müssen Sie zuerst eine Instanz davon erstellen. Dann können Sie Elemente zur ArrayList mit der Add-Methode hinzufügen, die ein Objekt am Ende der ArrayList einfügt.
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);
}
}
}Imports System
Imports System.Collections
Module Program
' The main entry point of the program
Sub Main()
' Create a new ArrayList
Dim myArrayList As New ArrayList()
' Add elements of different types
myArrayList.Add("Hello")
myArrayList.Add(100)
Dim item = "World"
myArrayList.Add(item)
' Iterate through the ArrayList and print each element
For Each obj In myArrayList
Console.WriteLine(obj)
Next
End Sub
End Module
Dieses Beispiel zeigt, wie man eine neue ArrayList erstellt und verschiedene Typen von Elementen hinzufügt. Die foreach-Schleife durchläuft dann die ArrayList und gibt jedes Element aus.
Elemente einfügen
Um ein Element an einem bestimmten Index einzufügen, verwenden Sie die Insert-Methode, wobei zu beachten ist, dass dies ein nullbasiertes Indexsystem ist.
// Insert element at index 1
myArrayList.Insert(1, "Inserted Item");' Insert element at index 1
myArrayList.Insert(1, "Inserted Item")Entfernen von Elementen
Zum Entfernen von Elementen sind die Methoden Remove und RemoveAt nützlich. Remove löscht das erste Vorkommen eines bestimmten Objekts, während RemoveAt das Element am angegebenen ganzzahligen Index entfernt.
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 0Beispiel: Verwalten einer ArrayList
Ein erweitertes Beispiel zur Verwendung der ArrayList in C# beinhaltet nicht nur die grundlegenden Operationen wie Hinzufügen oder Entfernen von Elementen, sondern auch komplexere Manipulationen wie Sortieren, Suchen und Konvertieren der ArrayList in andere Datenstrukturen. Fügen Sie das folgende Beispiel in die Datei Program.cs ein, um es auszuführen:
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 System
Imports System.Collections
Imports System.Linq
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
Console.WriteLine(vbCrLf)
' 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
Console.WriteLine(vbCrLf)
' Sorting
numbers.Sort() ' Sort the ArrayList
Console.WriteLine("Sorted ArrayList:")
For Each number As Integer In numbers
Console.Write(number & " ")
Next
Console.WriteLine(vbCrLf)
' 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(vbCrLf)
' 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
Console.WriteLine(vbCrLf)
' 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 ClassDieser Codeausschnitt zeigt, wie man:
- Eine ArrayList mit Elementen initialisieren.
- Einzelne und mehrere Elemente zur ArrayList hinzufügen.
- Elemente nach Wert und Index entfernt.
- Die ArrayList sortiert, um die Elemente anzuordnen.
- Nach einem Element sucht und seinen Index ermittelt.
- Die ArrayList in ein Standardarray konvertiert.
- LINQ mit ArrayList verwendet, um gerade Zahlen herauszufiltern, und zeigt, wie man nicht-generische Sammlungen mit den leistungsstarken Abfragefähigkeiten von LINQ kombiniert.

Einführung in IronPDF: C# PDF-Bibliothek

IronPDF ist eine leistungsstarke Bibliothek für C#, die den komplexen Prozess der PDF-Erstellung vereinfacht und eine Vielzahl von Funktionen zur PDF-Bearbeitung bietet, einschließlich der Fähigkeit, PDFs aus HTML zu erstellen, Text und Bilder hinzuzufügen, Dokumente zu sichern und vieles mehr.
Integration von IronPDF mit ArrayList
Schreiben wir ein einfaches C#-Programm, das eine ArrayList von Elementen erstellt und dann IronPDF verwendet, um ein PDF-Dokument zu erstellen, das diese Elemente auflistet.
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.");
}
}Imports IronPdf
Imports System
Imports System.Collections
Class PdfCode
Shared Sub Main(ByVal args() As String)
' Set your IronPDF license key here
IronPdf.License.LicenseKey = "Your_License_Key"
' 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
htmlContent += "</ul>"
' Convert the HTML string to a PDF document
Dim PDF = Renderer.RenderHtmlAsPdf(htmlContent)
' Save the PDF to a file
PDF.SaveAs("ItemList.pdf")
Console.WriteLine("PDF file 'ItemList.pdf' has been generated.")
End Sub
End ClassIn diesem Beispiel beginnen wir mit der Erstellung einer ArrayList namens itemList und bestücken sie mit mehreren Zeichenfolgen-Elementen. Anschließend initialisieren wir eine neue Instanz der ChromePdfRenderer-Klasse von IronPDF, die wir verwenden, um HTML-Inhalte in ein PDF-Dokument zu konvertieren.
Ausgabe
Dies ist das von IronPDF generierte PDF-Ausgabedokument:

Abschluss
Die ArrayList ist eine von C# bereitgestellte leistungsfähige Sammlung, um eine Liste von Objekten zu speichern. Ihre Fähigkeit, die Größe dynamisch anzupassen und Elemente jeglichen Typs zu speichern, macht sie vielseitig für eine Vielzahl von Anwendungen. Jedoch werden zur Typsicherheit und für bessere Leistung generische Sammlungen empfohlen. Das Experimentieren mit der ArrayList und ihren Methoden wird Ihnen helfen, ihre Anwendungsfälle und wie sie sich in Ihre Anwendungen einfügen können, zu verstehen.
Zusätzlich bietet IronPDF für diejenigen, die ihre C#-Fähigkeiten auf die PDF-Bearbeitung erweitern möchten, eine kostenlose Testversion für PDF-Funktionen in .NET an, um seine Funktionen zu erkunden. Lizenzen beginnen bei $999 und bieten eine umfassende Lösung zur Integration von PDF-Funktionalitäten in .NET-Anwendungen.

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.
Verwandte Artikel


