Zum Fußzeileninhalt springen
.NET HILFE

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, um sicherzustellen, dass immer Platz für neue Objekt-Objekte vorhanden 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);
        }
    }
}
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);
        }
    }
}
$vbLabelText   $csharpLabel

C# ArrayList (Wie es für Entwickler funktioniert): Abbildung 1 - ArrayList-Ausgabe erstellen

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");
$vbLabelText   $csharpLabel

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 0
myArrayList.Remove("Hello"); // Removes the first occurrence of "Hello"
myArrayList.RemoveAt(0);     // Removes the element at index 0
$vbLabelText   $csharpLabel

Beispiel: 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();
    }
}
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();
    }
}
$vbLabelText   $csharpLabel

Dieser 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.

C# ArrayList (Wie es für Entwickler funktioniert): Abbildung 2 - ArrayList-Ausgabe

Einführung in IronPDF: C# PDF-Bibliothek

C# ArrayList (Wie es für Entwickler funktioniert): Abbildung 3 - IronPDF

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.");
    }
}
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.");
    }
}
$vbLabelText   $csharpLabel

In 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:

C# ArrayList (Wie es für Entwickler funktioniert): Abbildung 4 - PDF-Ausgabe

Abschluss

C# ArrayList (Wie es für Entwickler funktioniert): Abbildung 5 - Lizenzierung

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 $799, und bieten eine umfassende Lösung für die Integration von PDF-Funktionen in .NET-Anwendungen.

Häufig gestellte Fragen

Wie kann ich eine ArrayList in ein PDF in C# konvertieren?

Mit IronPDF können Sie ein PDF aus einer ArrayList in C# generieren. Iterieren Sie über die ArrayList, um die Inhalte in ein für die PDF-Erstellung geeignetes Format zu kompilieren, und verwenden Sie dann die Methoden von IronPDF, um das PDF zu erstellen und zu speichern.

Was sind die Vorteile der Verwendung von IronPDF mit ArrayLists?

IronPDF ermöglicht es Entwicklern, Daten, die in ArrayLists gespeichert sind, mühelos in PDF-Dokumente zu konvertieren. Dies ist nützlich für die Erstellung von Berichten oder den Export von Listen mit minimalem Code und maximaler Effizienz.

Kann ich Text und Bilder zu einem aus einer ArrayList generierten PDF hinzufügen?

Ja, mit IronPDF können Sie Ihr PDF anpassen, indem Sie Text, Bilder und andere Inhalte hinzufügen, während Sie über die Elemente in einer ArrayList iterieren.

Ist es möglich, ein aus einer ArrayList generiertes PDF in C# zu sichern?

IronPDF bietet Funktionen, um Ihre PDF-Dokumente zu sichern. Sie können Passwörter und Berechtigungen festlegen, um den Zugriff und die Bearbeitung von PDFs, die aus Daten in einer ArrayList generiert wurden, einzuschränken.

Wie kommt die dynamische Größenanpassung einer ArrayList der Integration mit PDF-Bibliotheken zugute?

Die dynamische Größenanpassung einer ArrayList stellt sicher, dass Sie nach Bedarf Elemente hinzufügen oder entfernen können, ohne sich um ihre Kapazität sorgen zu müssen. Diese Flexibilität ist hilfreich beim Vorbereiten von Daten für die PDF-Erstellung mit Bibliotheken wie IronPDF.

Was ist der Vorteil der Verwendung von IronPDF für C#-Entwickler?

IronPDF bietet C#-Entwicklern ein robustes Werkzeugset zur Erstellung und Bearbeitung von PDF-Dokumenten. Es unterstützt verschiedene Funktionen wie die Konvertierung von HTML in PDF, das Hinzufügen von Anmerkungen und das Zusammenführen mehrerer PDFs, was es zu einer unverzichtbaren Bibliothek für .NET-Anwendungen macht.

Wie kann ich verschiedene Datentypen in einer ArrayList beim Erstellen eines PDFs verwalten?

Da ArrayList jeden Datentyp speichern kann, können Sie IronPDF verwenden, um diese unterschiedlichen Datentypen in ein kohäsives PDF-Dokument zu formatieren und zu konvertieren, indem Sie durch die ArrayList iterieren und notwendige Transformationen anwenden.

Was sind einige Tipps zur Fehlersuche bei der Verwendung von IronPDF mit ArrayLists?

Stellen Sie sicher, dass die Daten in Ihrer ArrayList korrekt formatiert sind, bevor Sie sie in PDF konvertieren. Überprüfen Sie auf Nullwerte und inkompatible Datentypen und verwenden Sie die Debugging-Tools von IronPDF, um etwaige Probleme zu identifizieren und zu beheben, die während des PDF-Erstellungsprozesses auftreten.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der führend in der C# PDF-Technologie ist. Als ursprünglicher Entwickler der Iron Software-Kerncodebasis hat er die Produktarchitektur des Unternehmens seit seiner Gründung gestaltet und zusammen mit CEO Cameron Rimington in ein Unternehmen ...

Weiterlesen