Passer au contenu du pied de page
.NET AIDE

C# ArrayList (Comment ça fonctionne pour les développeurs)

La classe ArrayList fait partie de l'espace de noms des collections du .NET Framework, conçue pour stocker une collection d'objets. C'est une collection non générique, ce qui signifie qu'elle peut contenir des éléments de tout type de données. Cette fonctionnalité la rend très flexible mais moins sûre en termes de type par rapport aux collections génériques. L'ArrayList peut contenir des éléments en double et permet un redimensionnement dynamique lorsqu'une valeur valide est ajoutée ou retirée. Dans cet article, nous discuterons des bases de l'ArrayList et des fonctionnalités de la bibliothèque IronPDF.

Les bases de l'ArrayList

L'ArrayList est essentiellement une collection non générique capable de stocker un nombre d'éléments de tout type de données, ce qui en fait un choix polyvalent pour divers scénarios de programmation. La possibilité d'ajouter des éléments ou de supprimer des éléments à volonté sans les contraintes d'une taille fixe est l'une de ses caractéristiques clés. L'ArrayList ajuste automatiquement sa taille pour accueillir de nouveaux éléments, une caractéristique rendue possible par son implémentation de l'interface IList. Ce redimensionnement dynamique est crucial pour les applications qui nécessitent des collections avec un nombre d'éléments variable au cours de leur durée de vie.

Lorsque vous instanciez une ArrayList, vous créez une collection qui peut contenir n'importe quelle valeur d'objet, des entiers et chaînes de caractères aux objets personnalisés complexes. Ajouter des éléments à un ArrayList est simple grâce à des méthodes comme Add, qui ajoute une valeur d'objet à la fin de la collection, et Insert, qui place un nouvel élément à un index spécifié, décalant les éléments existants si nécessaire pour faire de la place. Cette flexibilité permet aux développeurs de gérer les collections plus efficacement, en s'adaptant aux besoins de l'application au fur et à mesure de son évolution.

Travailler avec des éléments

Ajouter des éléments à un ArrayList est simple et intuitif. Par exemple, envisagez un scénario où vous construisez une collection de différents types de données. Avec la méthode Add, vous pouvez ajouter n'importe quel objet à votre ArrayList, des chaînes de caractères aux entiers, ou même d'autres collections. La capacité de l'ArrayList est automatiquement augmentée au besoin, garantissant qu'il y ait toujours de la place pour de nouveaux éléments d'objet obj. Ce redimensionnement automatique est un avantage significatif par rapport aux tableaux traditionnels, qui nécessitent un redimensionnement manuel ou la création d'un nouveau tableau pour accueillir plus d'éléments.

L'ArrayList offre également des méthodes pour insérer et supprimer des éléments à des positions spécifiques ou à l'index int. La méthode Insert vous permet d'ajouter un élément à une position spécifiée, vous permettant ainsi de placer précisément de nouveaux éléments au sein de la collection à n'importe quel index spécifié. De même, les méthodes Remove et RemoveAt facilitent la suppression des éléments, soit en spécifiant l'objet à supprimer soit son index au sein de la collection. Ce contrôle granulaire sur les éléments au sein de l'ArrayList en fait un outil puissant pour gérer des données dynamiques.

Créer et ajouter des éléments

Pour commencer à utiliser une ArrayList, vous devez d'abord créer une instance de celle-ci. Ensuite, vous pouvez ajouter des éléments à l'ArrayList en utilisant la méthode Add, qui insère un objet à la fin de l'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);
        }
    }
}
Imports System
Imports System.Collections

Friend Class Program
	' The main entry point of the program
	Public Shared 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 obj
	End Sub
End Class
$vbLabelText   $csharpLabel

C# ArrayList (Comment ça fonctionne pour les développeurs) : Figure 1 - Créer un résultat ArrayList

Cet exemple démontre comment créer une nouvelle ArrayList et y ajouter différents types d'éléments. La boucle foreach parcourt ensuite l'ArrayList, imprimant chaque élément.

Insérer des éléments

Pour insérer un élément à un index spécifié, utilisez la méthode Insert, en notant qu'il s'agit d'un système d'index basé sur zéro.

// Insert element at index 1
myArrayList.Insert(1, "Inserted Item");
// Insert element at index 1
myArrayList.Insert(1, "Inserted Item");
' Insert element at index 1
myArrayList.Insert(1, "Inserted Item")
$vbLabelText   $csharpLabel

Supprimer des éléments

Pour supprimer des éléments, les méthodes Remove et RemoveAt sont utiles. Remove supprime la première occurrence d'un objet spécifique, tandis que RemoveAt supprime l'élément à l'index entier spécifié.

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
$vbLabelText   $csharpLabel

Exemple : Gestion d'une ArrayList

Créer un exemple avancé de l'utilisation de ArrayList en C# implique de montrer non seulement les opérations de base comme l'ajout ou la suppression d'éléments, mais aussi des manipulations plus complexes telles que le tri, la recherche, et la conversion de l'ArrayList en d'autres structures de données. Placez l'exemple suivant dans le fichier Program.cs pour l'exécuter :

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
$vbLabelText   $csharpLabel

Cet extrait de code montre comment :

  • Initialiser une ArrayList avec un ensemble d'éléments.
  • Ajouter des éléments simples et multiples à l'ArrayList.
  • Supprimer des éléments par valeur et par index.
  • Trier la ArrayList pour ordonner les éléments.
  • Rechercher un élément et trouver son index.
  • Convertir l'ArrayList en un tableau standard.
  • Utiliser LINQ avec ArrayList pour filtrer les nombres pairs, montrant comment relier les collections non génériques avec les puissantes capacités de requête de LINQ.

C# ArrayList (Comment ça fonctionne pour les développeurs) : Figure 2 - Résultat ArrayList

Introduction à IronPDF : Bibliothèque PDF C

C# ArrayList (Comment ça fonctionne pour les développeurs) : Figure 3 - IronPDF

IronPDF est une bibliothèque puissante pour C# qui simplifie le processus complexe de génération de PDF, offrant une large gamme de fonctionnalités pour la manipulation de PDF, y compris la capacité de générer des PDF à partir de HTML, ajouter du texte et des images, sécuriser des documents, et bien plus encore.

Intégration d'IronPDF avec ArrayList

Écrivons un simple programme C# qui crée une ArrayList d'articles, puis utilise IronPDF pour générer un document PDF listant ces articles.

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.");
    }
}
Imports IronPdf
Imports System
Imports System.Collections

Friend 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 item
		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 Class
$vbLabelText   $csharpLabel

Dans cet exemple, nous commençons par créer une ArrayList nommée itemList et la remplissons avec plusieurs éléments de chaîne de caractères. Ensuite, nous initialisons une nouvelle instance de la classe ChromePdfRenderer d'IronPDF, que nous utiliserons pour convertir le contenu HTML en un document PDF.

Sortie

Voici le PDF de sortie généré par IronPDF :

C# ArrayList (Comment ça fonctionne pour les développeurs) : Figure 4 - Résultat PDF

Conclusion

C# ArrayList (Comment ça fonctionne pour les développeurs) : Figure 5 - Licence

L'ArrayList est une collection puissante offerte par C# pour stocker une liste d'objets. Sa capacité à ajuster la taille dynamiquement et à stocker des éléments de tout type en fait un outil polyvalent pour une large gamme d'applications. Cependant, pour la sécurité de type et de meilleures performances, les collections génériques sont recommandées. L'expérimentation avec l'ArrayList et ses méthodes vous aidera à comprendre ses utilisations et comment elle peut s'intégrer dans vos applications.

De plus, pour ceux intéressés à étendre leurs capacités C# à la manipulation de PDF, IronPDF offre un essai gratuit pour les fonctions PDF en .NET afin d'explorer ses fonctionnalités. Les licences commencent à partir de $799, offrant une solution complète pour intégrer des fonctionnalités PDF dans les applications .NET.

Questions Fréquemment Posées

Comment puis-je convertir un ArrayList en PDF en C# ?

Vous pouvez utiliser IronPDF pour générer un PDF à partir d'un ArrayList en C#. Parcourez l'ArrayList pour compiler le contenu dans un format adapté à la génération de PDF, puis utilisez les méthodes d'IronPDF pour créer et enregistrer le PDF.

Quels sont les avantages d'utiliser IronPDF avec des ArrayLists ?

IronPDF permet aux développeurs de convertir facilement les données stockées dans des ArrayLists en documents PDF. Cela est utile pour créer des rapports ou exporter des listes d'articles avec un minimum de code et une efficacité maximale.

Puis-je ajouter du texte et des images à un PDF généré à partir d'un ArrayList ?

Oui, avec IronPDF, vous pouvez personnaliser votre PDF en ajoutant du texte, des images et d'autres contenus tout en parcourant les éléments d'un ArrayList.

Est-il possible de sécuriser un PDF généré à partir d'un ArrayList en C# ?

IronPDF fournit des fonctionnalités pour sécuriser vos documents PDF. Vous pouvez définir des mots de passe et des autorisations pour restreindre l'accès et l'édition des PDF générés à partir des données d'un ArrayList.

Quels avantages le redimensionnement dynamique offre-t-il à ArrayList lors de l'intégration avec des bibliothèques PDF ?

Le redimensionnement dynamique d'un ArrayList garantit que vous pouvez ajouter ou supprimer des éléments selon les besoins sans vous soucier de sa capacité. Cette flexibilité est bénéfique lors de la préparation des données pour la génération de PDF à l'aide de bibliothèques comme IronPDF.

Quel est l'avantage d'utiliser IronPDF pour les développeurs C# ?

IronPDF offre aux développeurs C# un ensemble d'outils robuste pour générer et manipuler des documents PDF. Il prend en charge diverses fonctionnalités telles que la conversion HTML en PDF, l'ajout d'annotations et la fusion de plusieurs PDFs, ce qui en fait une bibliothèque essentielle pour les applications .NET.

Comment puis-je gérer différents types de données dans un ArrayList lors de la création d'un PDF ?

Étant donné qu'un ArrayList peut stocker n'importe quel type de données, vous pouvez utiliser IronPDF pour formater et convertir ces divers types de données en un document PDF cohérent en parcourant l'ArrayList et en appliquant les transformations nécessaires.

Quelles sont quelques astuces de dépannage pour utiliser IronPDF avec des ArrayLists ?

Assurez-vous que les données de votre ArrayList sont correctement formatées avant de les convertir en PDF. Vérifiez les valeurs null et les types de données incompatibles, et utilisez les outils de débogage d'IronPDF pour identifier et résoudre les problèmes qui pourraient survenir lors du processus de génération de PDF.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite