Tutoriel C# ArrayList avec exemples
โก Rรฉsumรฉ intelligent
En C#, ArrayList est une collection dynamique de l'espace de noms System.Collections qui stocke ses รฉlรฉments sous forme d'objets. Contrairement ร un tableau, sa taille s'adapte ร l'exรฉcution et elle peut contenir des entiers, des chaรฎnes de caractรจres et des valeurs boolรฉennes dans une mรชme liste.

Qu'est-ce qu'ArrayList en C# ?
La collection ArrayList est similaire ร la Arrays type de donnรฉes en C#. La plus grande diffรฉrence rรฉside dans la nature dynamique de la collection de listes de tableaux.
Pour les tableaux, vous devez dรฉfinir le nombre d'รฉlรฉments que le tableau peut contenir au moment de la dรฉclaration du tableau. Mais dans le cas de la collection Array List, cela n'a pas besoin d'รชtre fait au prรฉalable. Des รฉlรฉments peuvent รชtre ajoutรฉs ou supprimรฉs de la collection Array List ร tout moment. Examinons plus en dรฉtail les opรฉrations disponibles pour la collection de listes de tableaux.
Dรฉclaration d'une liste de tableaux
La dรฉclaration d'un ArrayList est fournie ci-dessous. Une liste de tableaux est crรฉรฉe ร l'aide du type de donnรฉes ArrayList. Le mot-clรฉ ยซ new ยป est utilisรฉ pour crรฉer un objet dโune ArrayList. L'objet est alors affectรฉ ร la variable a1. Alors maintenant la variable a1 sera utilisรฉe pour accรฉder aux diffรฉrents รฉlรฉments de la liste du tableau.
ArrayList a1 = new ArrayList()
Ajouter des รฉlรฉments ร un tableau
La mรฉthode add est utilisรฉe pour ajouter un รฉlรฉment ร ArrayList. La mรฉthode add peut รชtre utilisรฉe pour ajouter nโimporte quel type dโรฉlรฉment de type de donnรฉes ร la liste du tableau. Vous pouvez donc ajouter un entier, une chaรฎne ou mรชme une valeur boolรฉenne ร la liste des tableaux. La syntaxe gรฉnรฉrale de la mรฉthode d'addition est donnรฉe ci-dessous
ArrayList.add(element)
Vous trouverez ci-dessous quelques exemples de la maniรจre dont la mรฉthode ยซ ajouter ยป peut รชtre utilisรฉe. La mรฉthode add peut รชtre utilisรฉe pour ajouter diffรฉrents types de donnรฉes ร la collection Array List.
Ci-dessous, vous pouvez voir des exemples de la faรงon dont nous pouvons ajouter des chaรฎnes d'entiers et mรชme des valeurs boolรฉennes ร la collection Array List.
- a1.add(1) โ Cela ajoutera une valeur entiรจre ร la collection
- a1.add("Example") โ Cela ajoutera une valeur String ร la collection
- a1.add(true) โ Cela ajoutera une valeur boolรฉenne ร la collection
Voyons maintenant que cela fonctionne au niveau du code. Tout le code mentionnรฉ ci-dessous sera รฉcrit dans notre application console. Le code sera รฉcrit dans notre fichier Program.cs.
Dans le programme ci-dessous, nous รฉcrirons le code pour crรฉer une nouvelle liste de tableaux. Nous montrerons รฉgalement comment ajouter des รฉlรฉments et afficher les รฉlรฉments de la liste Array.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1[0]); Console.WriteLine(a1[1]); Console.WriteLine(a1[2]); Console.ReadKey(); } } }
Code Explication:-
- La premiรจre รฉtape est utilisรฉe pour dรฉclarer notre Array List. Ici, nous dรฉclarons a1 comme variable pour contenir les รฉlรฉments de notre liste de tableaux.
- Nous utilisons ensuite le mot-clรฉ add pour ajouter le nombre 1 , la chaรฎne ยซ Example ยป et la valeur boolรฉenne ยซ true ยป ร la liste du tableau.
- Nous utilisons ensuite la mรฉthode Console.WriteLine pour afficher la valeur de chaque รฉlรฉment de liste de tableau sur la console. Vous remarquerez que tout comme les tableaux, nous pouvons accรฉder aux รฉlรฉments via leurs positions d'index. Ainsi, pour accรฉder ร la premiรจre position de la Array List, nous utilisons la position d'index [0]. Et ainsi de suite.
Si le code ci-dessus est entrรฉ correctement et que le programme est exรฉcutรฉ, la sortie suivante sera affichรฉe.
Sortie :
ร partir du rรฉsultat, vous pouvez voir que tous les รฉlรฉments de la liste du tableau sont envoyรฉs ร la console.
Examinons quelques mรฉthodes supplรฉmentaires disponibles dans le cadre d'ArrayList.
que vous avez
Cette mรฉthode est utilisรฉe pour obtenir le nombre d'รฉlรฉments dans la collection ArrayList. Vous trouverez ci-dessous la syntaxe gรฉnรฉrale de cette instruction.
ArrayList.Count() โ Cette mรฉthode renverra le nombre d'รฉlรฉments que contient la liste de tableaux.
Inclus
Cette mรฉthode est utilisรฉe pour voir si un รฉlรฉment est prรฉsent dans la collection ArrayList. Vous trouverez ci-dessous la syntaxe gรฉnรฉrale de cette instruction
ArrayList.Contains(element) โ Cette mรฉthode renverra true si l'รฉlรฉment est prรฉsent dans la liste, sinon elle renverra false.
Supprimer ร
Cette mรฉthode est utilisรฉe pour supprimer un รฉlรฉment ร une position spรฉcifique dans la collection ArrayList. Vous trouverez ci-dessous la syntaxe gรฉnรฉrale de cette instruction
ArrayList.RemoveAt(index) โ Cette mรฉthode supprimera un รฉlรฉment d'une position spรฉcifique de la liste des tableaux.
Voyons maintenant que cela fonctionne au niveau du code. Tout le code mentionnรฉ ci-dessous sera รฉcrit dans notre application console. Le code sera รฉcrit dans notre fichier Program.cs.
Dans le programme ci-dessous, nous รฉcrirons le code pour voir comment nous pouvons utiliser les mรฉthodes mentionnรฉes ci-dessus.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1.Count); Console.WriteLine(a1.Contains(2)); Console.WriteLine(a1[1]); a1.RemoveAt(1); Console.WriteLine(a1[1]); Console.ReadKey(); } } }
Code Explication:-
- La premiรจre propriรฉtรฉ que nous voyons est donc la propriรฉtรฉ Count. Nous obtenons la propriรฉtรฉ Count de la liste de tableaux a1, puis nous l'รฉcrivons dans la console.
- Dans la deuxiรจme partie, nous utilisons la mรฉthode Contains pour voir si l'ArrayList a1 contient l'รฉlรฉment 2. Nous รฉcrivons ensuite le rรฉsultat dans la Console via la commande Writeline.
- Enfin, pour prรฉsenter la mรฉthode Remove element, nous effectuons les รฉtapes ci-dessous :
- Tout dโabord, nous รฉcrivons la valeur de lโรฉlรฉment ร la position dโindex 1 de la liste des tableaux sur la console.
- Ensuite, nous supprimons lโรฉlรฉment ร la position dโindex 1 de la liste des tableaux.
- Enfin, nous รฉcrivons ร nouveau la valeur de l'รฉlรฉment ร la position d'index 1 de la liste des tableaux sur la console. Cet ensemble d'รฉtapes donnera une bonne idรฉe si la mรฉthode de suppression fonctionnera comme elle devrait l'รชtre.
Si le code ci-dessus est entrรฉ correctement et que le programme est exรฉcutรฉ, la sortie suivante sera affichรฉe.
Sortie :
Pourquoi la derniรจre valeur est-elle vraie ?
Si vous voyez la sรฉquence d'รฉvรฉnements, l'รฉlรฉment Exemple est supprimรฉ du tableau car il est en position 1. La position 1 du tableau est alors remplacรฉe par ce qui รฉtait en position 2 plus tรดt dont la valeur 'true'
Comment parcourir une ArrayList en C#
Parcourir chaque รฉlรฉment d'une ArrayList est une tรขche courante. Puisqu'une ArrayList stocke ses รฉlรฉments sous forme d'objets, vous pouvez les parcourir avec une boucle foreach ou avec une boucle for utilisant la propriรฉtรฉ Count. La boucle foreach est la mรฉthode la plus simple, car elle parcourt chaque รฉlรฉment sรฉquentiellement sans nรฉcessiter d'index.
L'exemple ci-dessous crรฉe une ArrayList de chaรฎnes de caractรจres et affiche chaque valeur sur une ligne distincte. Ce code est รฉcrit dans le fichier Program.cs d'une application console.
รtape 1) Importez l'espace de noms System.Collections et crรฉez une ArrayList avec trois รฉlรฉments.
รtape 2) Utilisez une boucle foreach pour lire chaque รฉlรฉment comme un objet et l'รฉcrire dans la console.
using System; using System.Collections; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add("Java"); a1.Add("Python"); a1.Add("Kotlin"); foreach (object item in a1) { Console.WriteLine(item); } Console.ReadKey(); } } }
Code Explication:-
- L'espace de noms System.Collections est importรฉ afin que le type ArrayList soit disponible pour le programme.
- Trois valeurs de type chaรฎne de caractรจres sont ajoutรฉes ร l'ArrayList ร l'aide de la mรฉthode Add.
- La boucle foreach lit chaque รฉlรฉment comme un objet, et la mรฉthode Console.WriteLine l'affiche sur une nouvelle ligne.
Lorsque le programme s'exรฉcute, il imprime Java, Python et Kotlin sur des lignes sรฉparรฉes. Une boucle for avec la propriรฉtรฉ Count donnerait le mรชme rรฉsultat tout en vous permettant d'utiliser la position de l'index de chaque รฉlรฉment.
Mรฉthodes et propriรฉtรฉs de la classe ArrayList en C#
La classe ArrayList offre de nombreuses mรฉthodes et propriรฉtรฉs intรฉgrรฉes pour gรฉrer ses รฉlรฉments. Outre l'ajout et la suppression d'รฉlรฉments, elle permet de trier, de rechercher et d'inverser la collection. Les membres les plus courants sont listรฉs ci-dessous.
| Membre | Description |
| Ajouter | Ajoute un seul รฉlรฉment ร la fin de l'ArrayList. |
| insรฉrer | Ajoute un รฉlรฉment ร une position d'index spรฉcifique. |
| Supprimer | Supprime la premiรจre occurrence d'un รฉlรฉment spรฉcifique. |
| Supprimer ร | Supprime l'รฉlรฉment ร la position d'index indiquรฉe. |
| Effacer | Supprime tous les รฉlรฉments de l'ArrayList. |
| Sort | Trie les รฉlรฉments par ordre croissant. |
| Reverse | Reversel'ordre des รฉlรฉments dans la liste. |
| Inclus | Renvoie vrai si l'รฉlรฉment donnรฉ existe dans la liste. |
| Index de | Renvoie la position d'index d'un รฉlรฉment donnรฉ. |
| que vous avez | Propriรฉtรฉ qui renvoie le nombre d'รฉlรฉments stockรฉs. |
| Capacitรฉs | Propriรฉtรฉ qui renvoie le nombre d'รฉlรฉments que la liste peut contenir. |
Ces membres vous permettent d'ajouter, de rechercher, de trier et de supprimer des รฉlรฉments sans avoir ร รฉcrire vous-mรชme la logique, ce qui est l'un des principaux avantages de l'utilisation d'une collection par rapport ร un simple tableau.
Diffรฉrence entre ArrayList et List en C#
ร la fois une ArrayList et un type gรฉnรฉrique Liste Ces deux types de stockage peuvent contenir un ensemble d'รฉlรฉments dont la taille peut augmenter ร l'exรฉcution, mais leur gestion des types diffรจre. Comprendre cette diffรฉrence vous aide ร choisir le type le plus adaptรฉ au code C# moderne.
Les principales diffรฉrences sont รฉnumรฉrรฉes ci-dessous :
- Sรฉcuritรฉ du type : Une ArrayList stocke chaque รฉlรฉment sous forme d'objet, tandis qu'une List est liรฉe ร un type dรฉclarรฉ et est vรฉrifiรฉe lors de la compilation.
- Performance : Une ArrayList effectue des opรฉrations d'encapsulation et de dรฉsencapsulation sur les types de valeurs tels que int, ce qui prend du temps, tandis qu'une List รฉvite cette opรฉration pour une meilleure vitesse.
- Espace de noms: ArrayList se trouve dans System.Collections, tandis que List se trouve dans System.Collections.Generic.
- Moulage: La lecture d'une ArrayList nรฉcessite souvent une conversion vers le type d'origine, mais une List renvoie directement le type correct.
- Recommandation: Microsoft Nous recommandons List pour les nouveaux dรฉveloppements car c'est plus sรปr, plus rapide et plus facile ร lire.
En rรฉsumรฉ, une ArrayList est utile pour comprendre du code ancien ou un stockage de types mixtes, tandis qu'une List est le choix privilรฉgiรฉ pour la plupart des applications actuelles.




