AIDE .NET

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

Publié mars 6, 2024
Partager:

La classe ArrayList fait partie de l'espace de noms collections du Framework .NET et est conçue pour stocker une collection d'objets. Il s'agit d'une collection non générique, ce qui signifie qu'elle peut contenir des éléments de n'importe quel type de données. Cette caractéristique lui confère une grande souplesse, mais une sécurité de type moindre par rapport aux collections génériques. Les Liste de tableaux peut contenir des éléments en double et permet un redimensionnement dynamique lorsqu'une valeur valide est ajoutée ou supprimée. Dans cet article, nous aborderons les principes de base des listes de tableaux (ArrayList) et de la IronPDF bibliothèque.

Les bases de l'ArrayList

La Liste de tableaux est essentiellement une collection non générique, capable de stocker un certain nombre d'éléments de n'importe quel 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 d'en retirer à volonté sans les contraintes d'une taille fixe est l'une de ses principales caractéristiques. La Liste de tableaux ajuste automatiquement sa taille pour accueillir de nouveaux éléments, une fonctionnalité rendue possible par son implémentation de l'interface IListe. Ce redimensionnement dynamique est crucial pour les applications qui nécessitent des collections dont le nombre d'éléments varie au cours de leur durée de vie.

Lorsque vous instanciez une liste de tableaux, vous créiez une collection qui peut contenir n'importe quelle valeur d'objet, depuis les entiers et les chaînes jusqu'aux objets personnalisés complexes. L'ajout d'éléments à une Liste de tableaux est simple, grâce à des méthodes telles que Add, qui ajoute une valeur d'objet à la fin de la collection, et Insert, qui place un nouvel élément à un index spécifié, en déplaçant 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

L'ajout d'éléments à une liste de tableaux est simple et intuitif. Prenons l'exemple d'un scénario dans lequel vous créez une collection de différents types de données. Avec la méthode Add, vous pouvez ajouter n'importe quel objet à votre ArrayList, qu'il s'agisse de chaînes de caractères, d'entiers ou même d'autres collections. La capacité de la liste est automatiquement augmentée en fonction des besoins, ce qui garantit qu'il y a toujours de la place pour les nouveaux éléments de l'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.

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

Création et ajout d'éléments

Pour commencer à utiliser une Liste de tableaux, vous devez d'abord en créer une instance. Vous pouvez ensuite ajouter des éléments à la Liste de tableaux à l'aide de la méthode Add, qui insère un objet à la fin de la Liste de tableaux.

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
VB   C#

C# ArrayList (Comment ça marche pour les développeurs) : Figure 1 - Création d'une liste de tableaux

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

Insertion d'éléments

Pour insérer un élément à un indice spécifié, utilisez la méthode Insérer, en notant qu'il s'agit d'un système d'indexation à base zéro.

myArrayList.Insert(1, "Inserted Item");
myArrayList.Insert(1, "Inserted Item");
myArrayList.Insert(1, "Inserted Item")
VB   C#

Suppression d'éléments

Les méthodes Remove et RemoveAt sont utiles pour supprimer des éléments. 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
VB   C#

Exemple : Gestion d'une liste de tableaux

La création d'un exemple avancé d'utilisation de ArrayList en C# implique de présenter non seulement les opérations de base telles que l'ajout ou la suppression d'éléments, mais aussi des manipulations plus complexes telles que le tri, la recherche et la conversion de 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
VB   C#

Cet extrait de code montre comment :

  • Initialise une liste de tableaux avec un ensemble d'éléments.
  • Ajouter un ou plusieurs éléments à la Liste de tableaux.
  • Supprimer des éléments par valeur et par index.
  • Trier la Liste de tableaux pour ordonner les éléments.
  • Recherche d'un élément et de son index.
  • Convertit la Liste de tableaux en un tableau standard.
  • Utilisez LINQ avec ArrayList pour filtrer les nombres pairs, en montrant comment relier des collections non génériques avec les puissantes capacités d'interrogation de LINQ.

    C# ArrayList (Comment ça marche pour les développeurs) : Figure 2 - Sortie d'une liste en tableau

Introduction d'IronPDF : C&num ; Bibliothèque PDF

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

IronPDF est une puissante bibliothèque 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 possibilité de générer PDF à partir de HTMLvous pouvez également ajouter du texte et des images, sécuriser des documents et bien plus encore.

Intégration d'IronPDF avec ArrayList

Écrivons un programme C# simple qui crée une liste de tableaux d'éléments, puis utilise IronPDF pour générer un document PDF répertoriant ces éléments.

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
VB   C#

Dans cet exemple, nous commençons par créer un ArrayList nommé itemList et nous le remplissons avec plusieurs éléments de type 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 document PDF.

Sortie

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

C# ArrayList (Comment ça marche pour les développeurs) : Figure 4 - Sortie PDF

Conclusion

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

Le ArrayList est une collection puissante offerte par C# pour stocker une liste d'objets. Sa capacité à ajuster la taille de manière dynamique et à stocker des éléments de tout type le rend polyvalent pour un large éventail d'applications. Toutefois, pour des raisons de sécurité des types et de meilleures performances, il est recommandé d'utiliser des collections génériques. L'expérimentation de ArrayList et de ses méthodes vous aidera à comprendre ses utilisations et la manière dont il peut s'intégrer dans vos applications.

En outre, pour ceux qui souhaitent étendre leurs compétences en C# à la manipulation des fichiers PDF, IronPDF propose un logiciel de gestion des fichiers PDF essai gratuit pour en découvrir les caractéristiques. Les licences commencent à partir de $749, fournissant une solution complète pour l'intégration de la fonctionnalité PDF dans les applications .NET.

< PRÉCÉDENT
Math.Round C# (Comment ça marche pour les développeurs)
SUIVANT >
Linter C# (Comment ça marche pour les développeurs)