Guide des Collections en C# : Un Guide pour Débutants

Bonjour là-bas, futurs programmeurs ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde des collections en C#. Ne vous inquiétez pas si vous êtes nouveaux dans le domaine de la programmation - je serai votre guide amical, expliquant tout étape par étape. C'est parti !

C# - Collections

Qu'est-ce que les Collections ?

Imaginez que vous organisez une fête et que vous devez garder une trace de tous vos invités. Vous pourriez écrire chaque nom sur une piece de papier distincte, mais cela serait sale et inefficace. Au lieu de cela, vous utiliseriez probablement une liste d'invités. En C#, les collections sont comme cette liste d'invités - elles nous aident à organiser et à gérer des groupes d'objets liés.

Pourquoi Utiliser des Collections ?

Les collections sont extrêmement utiles car elles nous permettent de :

  1. Stocker plusieurs éléments dans une seule variable
  2. Ajouter ou supprimer des éléments facilement
  3. Rechercher et trier nos données
  4. Effectuer des opérations sur des groupes de données

Maintenant, examinons certains des types de collections les plus courants en C#.

Les Listes : Votre Ami Flexible

Qu'est-ce qu'une List ?

Une List est comme un tableau dynamique qui peut grandir ou se rétrécir selon les besoins. C'est parfait lorsque vous ne savez pas exactement combien d'items vous devrez stocker.

Comment Utiliser une List

Créons une liste de nos fruits préférés :

List<string> fruits = new List<string>();
fruits.Add("Pomme");
fruits.Add("Banane");
fruits.Add("Cerise");

Console.WriteLine($"Nous avons {fruits.Count} fruits.");
Console.WriteLine($"Le second fruit est {fruits[1]}.");

Dans cet exemple, nous :

  1. Créons une nouvelle List de strings
  2. Ajoutons trois fruits à notre liste
  3. Affichons le nombre de fruits (en utilisant la propriété Count)
  4. Accédons au second fruit en utilisant un index (souvenez-vous, les indexes commencent à 0 !)

Sortie :

Nous avons 3 fruits.
Le second fruit est Banane.

Les Dictionnaires : Votre Clé du Succès

Qu'est-ce qu'un Dictionary ?

Un Dictionary est comme un dictionnaire du monde réel - il stocke des paires clé-valeur. Chaque clé doit être unique, tout comme chaque mot dans un dictionnaire a sa propre définition.

Utiliser un Dictionary

Créons un dictionnaire des couleurs des fruits :

Dictionary<string, string> fruitColors = new Dictionary<string, string>();
fruitColors.Add("Pomme", "Rouge");
fruitColors.Add("Banane", "Jaune");
fruitColors.Add("Raisin", "Violet");

Console.WriteLine($"Une pomme est {fruitColors["Pomme"]}.");

if (fruitColors.ContainsKey("Cerise"))
{
Console.WriteLine($"Une cerise est {fruitColors["Cerise"]}.");
}
else
{
Console.WriteLine("Nous ne connaissons pas la couleur d'une cerise.");
}

Ici, nous :

  1. Créons un Dictionary avec des clés et des valeurs de type string
  2. Ajoutons trois paires fruit-couleur
  3. Accédons à une couleur en utilisant sa clé fruit
  4. Vérifions si une clé existe avant d'essayer d'accéder à sa valeur

Sortie :

Une pomme est Rouge.
Nous ne connaissons pas la couleur d'une cerise.

La Queue : Premier Arrivé, Premier Servi

Qu'est-ce qu'une Queue ?

Une Queue est comme une file d'attente dans un magasin - la première personne dans la file est la première à être servie. En termes de programmation, c'est une structure de données "First-In-First-Out" (FIFO).

La Queue en Action

Simulons une file d'attente d'impression simple :

Queue<string> printQueue = new Queue<string>();
printQueue.Enqueue("Report.doc");
printQueue.Enqueue("Picture.jpg");
printQueue.Enqueue("Spreadsheet.xlsx");

Console.WriteLine($"Éléments dans la file : {printQueue.Count}");
Console.WriteLine($"Imprimant : {printQueue.Dequeue()}");
Console.WriteLine($"Prochain dans la file : {printQueue.Peek()}");
Console.WriteLine($"Éléments restants : {printQueue.Count}");

Dans cet exemple, nous :

  1. Créons une Queue de strings
  2. Ajoutons (Enqueue) trois éléments à la file
  3. Retirons (Dequeue) le premier élément
  4. Regardons le prochain élément sans le retirer

Sortie :

Éléments dans la file : 3
Imprimant : Report.doc
Prochain dans la file : Picture.jpg
Éléments restants : 2

La Stack : Dernier Entré, Premier Sorti

Qu'est-ce qu'une Stack ?

Une Stack est comme une pile de plats - vous ajoutez du haut et vous prenez du haut. C'est une structure de données "Last-In-First-Out" (LIFO).

Stacking Up

Utilisons une Stack pour suivre les opérations de retour dans un éditeur de texte :

Stack<string> undoStack = new Stack<string>();
undoStack.Push("Taper 'Hello'");
undoStack.Push("Taper ' World'");
undoStack.Push("Supprimer 'World'");

Console.WriteLine($"Opérations de retour : {undoStack.Count}");
Console.WriteLine($"Dernière action : {undoStack.Peek()}");
Console.WriteLine($"Retour : {undoStack.Pop()}");
Console.WriteLine($"Opérations restantes : {undoStack.Count}");

Ici, nous :

  1. Créons une Stack de strings
  2. Ajoutons trois actions sur la stack
  3. Regardons l'élément du haut
  4. Retirons (Pop) l'élément du haut

Sortie :

Opérations de retour : 3
Dernière action : Supprimer 'World'
Retour : Supprimer 'World'
Opérations restantes : 2

Table des Méthodes de Collection

Voici un tableau pratique des méthodes courantes pour ces collections :

Méthode List Dictionary Queue Stack
Add - -
Remove - -
Clear
Contains ✓ (ContainsKey)
Count
Enqueue - - -
Dequeue - - -
Push - - -
Pop - - -
Peek - -

Conclusion

Félicitations ! Vous avez appena fait vos premiers pas dans le monde des collections en C#. Souvenez-vous, chaque type de collection a ses forces, et choisir le bon peut rendre votre code plus efficace et plus facile à lire.

Pendant que vous continuez votre voyage en programmation, vous découvrirez encore plus de façons d'utiliser ces collections. N'ayez pas peur d'expérimenter - c'est ainsi que nous apprenons et grandissons en tant que développeurs.

Bonne programmation, et puissent vos collections être toujours bien organisées !

Credits: Image by storyset