Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Qu'est-ce Que les Lists? | Structures Supplémentaires et Gestion des Fichiers
C# au-delà des Bases
course content

Contenu du cours

C# au-delà des Bases

C# au-delà des Bases

1. Structures Supplémentaires et Gestion des Fichiers
2. Structures et Énumérateurs
3. Introduction à la Programmation Orientée Objet (POO)
4. Essentiels de la POO
5. Principes de la POO

book
Qu'est-ce Que les Lists?

Imaginez que nous avons une situation où nous voulons stocker les noms de tous les étudiants qui suivent un certain cours. La première solution à laquelle nous pouvons penser est de créer un Tableau :

cs

index

copy
123456
using System; class Program { string[] studentNames = new string[50]; }

Cependant, si à un moment donné il y a plus de 50 étudiants, nous ne pourrons pas stocker leurs noms. De même, dans une situation où il y a moins de 50 étudiants, les espaces inoccupés dans le tableau seront un gaspillage de mémoire - cela devient un problème surtout dans les grands tableaux.

Ici, nous avons besoin d'une nouvelle structure qui peut stocker une quantité variable d'éléments. Heureusement, une telle structure existe déjà, elle s'appelle une Liste.

Les Listes sont très similaires aux Tableaux, cependant le nombre d'éléments stockés dans une liste est modifiable.

Voici la syntaxe pour déclarer une liste vide :

En utilisant cette syntaxe, nous pouvons créer une liste pour stocker les noms des étudiants :

cs

index

copy
12345678910
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); } }

Il est important de noter que nous devons importer le module Generic pour pouvoir utiliser les listes.

Vous devez simplement ajouter cette ligne sous using System; pour importer le module requis.

Méthode Add()

Nous pouvons ajouter des éléments à une liste en utilisant la méthode Add :

cs

index

copy
123456789101112131415
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); } }

Le code ci-dessus ajoutera quatre éléments à la liste students.

Tout comme un tableau de type string ne peut contenir que des éléments de type string. Une liste de type string ne peut accepter que des éléments de type string.

Indexation

Le premier élément est Anna, il aura donc l'index 0, tandis que Laura aura l'index 1 et ainsi de suite. Les éléments d'une liste peuvent être accessibles via l'indexation tout comme un tableau :

cs

index

copy
1234567891011121314151617
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); Console.WriteLine(students[2]); } }

Méthode Count()

Nous pouvons récupérer la longueur d'une liste en utilisant son attribut Count :

cs

index

copy
123456789101112131415161718
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); students.Add("Anna"); students.Add("Laura"); students.Add("Jacob"); students.Add("Aron"); Console.WriteLine(students[2]); Console.WriteLine(students.Count); } }

Longueur Dynamique

Notez que la longueur d'une liste est dynamique (modifiable), elle change donc à mesure que nous ajoutons des éléments :

cs

index

copy
1234567891011121314151617181920
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string>(); Console.WriteLine(students.Count); students.Add("Anna"); Console.WriteLine(students.Count); students.Add("Laura"); Console.WriteLine(students.Count); students.Add("Jacob"); Console.WriteLine(students.Count); students.Add("Aron"); Console.WriteLine(students.Count); } }

Initialisation

Nous pouvons également initialiser une liste avec certains éléments en utilisant la syntaxe suivante :

Par exemple :

cs

index

copy
12345678910111213141516
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; // It is still possible to add additional elements after initialization students.Add("Markus"); Console.WriteLine(students.Count); Console.WriteLine(students[4]); } }

Boucler à travers les listes

Boucler à travers une liste de manière similaire à la façon dont nous bouclerions à travers des tableaux

- Utilisation d'une boucle for :

cs

index

copy
123456789101112131415
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; for (int i = 0; i < students.Count; i++) { Console.WriteLine(students[i]); } } }

- Utilisation d'une boucle foreach

cs

index

copy
123456789101112131415
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { List<string> students = new List<string> { "Anna", "Laura", "Jacob", "Aron" }; foreach (string studentName in students) { Console.WriteLine(studentName); } } }

Astuce :

Pour raccourcir la syntaxe de déclaration, nous pouvons également utiliser la déclaration implicite. Pour rappel, une déclaration explicite est lorsque nous spécifions le type de données lors de la déclaration de la variable, par exemple :

cs

index

copy
1
float number = 7.9f;

D'autre part, dans la déclaration implicite, nous pouvons simplement utiliser le mot-clé var et le compilateur déduit automatiquement le type de données de la variable en fonction de la valeur assignée :

cs

index

copy
1
var number = 7.9f;

Nous pouvons également utiliser la déclaration implicite lors de la déclaration de listes :

Par exemple :

cs

index

copy
1
var numbers = new List<int> { 1, 2, 3, 4, 5 };

1. Quel sera le résultat du code suivant :

2. Quel module doit être importé pour utiliser les listes ?

3. Quelle méthode est utilisée pour obtenir la taille (longueur) d'une liste ?

Quel sera le résultat du code suivant :

Quel sera le résultat du code suivant :

Sélectionnez la réponse correcte

Quel module doit être importé pour utiliser les listes ?

Quel module doit être importé pour utiliser les listes ?

Sélectionnez la réponse correcte

Quelle méthode est utilisée pour obtenir la taille (longueur) d'une liste ?

Quelle méthode est utilisée pour obtenir la taille (longueur) d'une liste ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 1
We're sorry to hear that something went wrong. What happened?
some-alt