Un programma d'exemple pour vous montrer comment utiliser cette classe tres utile, qui peut remplacer les tableaux d'objets dans bien des cas ...
Source / Exemple :
using System;
using System.Collections; // CONTIENT LE CLASSE ArrayList
namespace ArrayListProject
{
class MainClass
{
[STAThread]
static void Main(string[] args)
{
ArrayList a = new ArrayList();
ArrayList b = new ArrayList();
byte mybyte = 67;
a.Add(mybyte); // ajoute un OBJET a l'arraylist
// etant donner que toute classe herite indirectement
// de la classe object, il n'est pas necessaire de caster ici
// comme ca : a.Add((object)mybyte);
a.Add('k');
// ajoute une arraylist a une autre
b.AddRange(a);
Console.Out.WriteLine("Contenu de b :");
// on peut parcourir les elements d'une arraylist de la sorte
foreach (object o in b)
Console.Out.WriteLine(o.ToString());
// verifie si une référence existe dans l'arraylist
if (b.Contains(mybyte))
Console.Out.WriteLine("b contient mybyte");
if (a.Contains(mybyte))
Console.Out.WriteLine("a contient mybyte");
// Count est une propriété en lecture seule
Console.Out.WriteLine("Capacity : "+b.Capacity);
Console.Out.WriteLine("Number of elements : "+b.Count);
Console.Out.WriteLine("Ajout de 50 elements a b");
for (int i = 0;i<50;i++)
b.Add(i);
Console.Out.WriteLine("(b) Capacity : "+b.Capacity);
Console.Out.WriteLine("(b) Number of elements : "+b.Count);
// on demontrera ainsi que la capacité si elle n'est pas
// spécifiée à la création de l'ArrayList prends une valeur dynamique
// qui est le multiple de 2 le plus proche superieur au nombre d'elements
// presents dans la liste.
b.TrimToSize(); // si la capacité de larraylist est de 5 et qu'il y a 2 éléments
// alors la capacité devient 2
Console.Out.WriteLine("triming de taille");
Console.Out.WriteLine("(b) Capacity : "+b.Capacity);
Console.Out.WriteLine("(b) Number of elements : "+b.Count);
Console.Out.WriteLine("(b) nsertion d'un element a la position 1");
b.Insert(1,"salut les amis"); // insertion d'un element dans une arraylist
Console.Out.WriteLine("Les 3 premiers elements de b sont :");
for (int i=0;i<3;i++)
Console.Out.WriteLine(b[i]);
Console.Out.WriteLine("Insertion de a à la position 1 de b");
b.InsertRange(1,a); // insertion d'une arraylist dans une autre
Console.Out.WriteLine("Les 5 premiers elements de b sont :");
for (int i=0;i<5;i++)
Console.Out.WriteLine(b[i]);
b.Reverse(); // retourne la liste
Console.Out.WriteLine("contenu de b inversé :");
foreach (object o in b)
Console.Write(o.ToString()+" ");
Console.WriteLine();
Console.In.ReadLine();
}
}
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.