Contenu du cours
C# au-delà des Bases
C# au-delà des Bases
Méthodes de Liste
Dans le chapitre précédent, nous avons appris à déclarer, initialiser et ajouter des éléments à une liste. De plus, nous avons également vu comment accéder aux éléments d'une liste et les parcourir. Dans ce chapitre, nous allons examiner quelques méthodes utiles pour les listes.
1. Remove()
La méthode Remove
supprime la première instance d'un élément d'une liste.
Syntaxe : exampleList.remove(targetElement);
index
using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { List<string> fruits = new List<string> { "Apple", "Banana", "Orange", "Banana", "Grape" }; Console.Write("Before: "); foreach (string fruit in fruits) { Console.Write(fruit + " "); } fruits.Remove("Banana"); Console.Write("\nAfter: "); foreach (string fruit in fruits) { Console.Write(fruit + " "); } } } }
Dans le cas où aucun élément de ce type n'est trouvé, il ne fait simplement rien :
index
using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { List<string> fruits = new List<string> { "Apple", "Banana", "Orange", "Banana", "Grape" }; Console.Write("Before: "); foreach (string fruit in fruits) { Console.Write(fruit + " "); } fruits.Remove("some element"); // trying to remove an unknown element Console.Write("\nAfter: "); foreach (string fruit in fruits) { Console.Write(fruit + " "); } } } }
2. RemoteAt()
La méthode RemoveAt
supprime un élément à un index spécifique.
Syntaxe : exampleList.RemoveAt(index);
index
using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { List<string> fruits = new List<string> { "Apple", "Orange", "Banana", "Grape" }; Console.Write("Before: "); foreach (string fruit in fruits) { Console.Write(fruit + " "); } fruits.RemoveAt(1); Console.Write("\nAfter: "); foreach (string fruit in fruits) { Console.Write(fruit + " "); } } } }
3. Effacer
La méthode Clear
supprime simplement tous les éléments d'une liste. Elle ne prend aucun argument.
Syntaxe : exampleList.Clear();
index
using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { List<string> fruits = new List<string> { "Apple", "Orange", "Banana", "Grape" }; Console.Write("Before: "); foreach (string fruit in fruits) { Console.Write(fruit + " "); } fruits.Clear(); Console.Write("\nAfter: "); foreach (string fruit in fruits) { Console.Write(fruit + " "); } } } }
4. Insérer
La méthode Insert
insère un élément dans la liste à un index spécifié.
Syntaxe : exampleList.Insert(index, elementToInsert);
index
using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { List<int> numbers = new List<int> { 2, 4, 6, 10, 12 }; Console.Write("Before: "); foreach (int number in numbers) Console.Write(number + " "); numbers.Insert(3, 8); Console.Write("\nAfter: "); foreach (int number in numbers) Console.Write(number + " "); } } }
Nous pouvons omettre les accolades {}
dans le cas où il n'y a qu'une seule instruction à l'intérieur d'une condition if, d'une boucle for ou d'une boucle foreach. Par exemple :
index
foreach(int number in numbers) { Console.Write(number + " "); }
Le snippet ci-dessus est le même que :
index
foreach(int number in numbers) Console.Write(number + " ");
S'il y a déjà un élément à l'index spécifié, il est poussé vers la droite, tout comme les éléments restants du tableau après lui - s'il y en a. Le diagramme suivant illustre le processus :
5. Contains()
La méthode Contains
vérifie si une liste contient un élément spécifique. Elle renvoie une valeur booléenne (true
ou false
).
Syntaxe : exampleList.Contains(element);
index
using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { List<char> vowels = new List<char> { 'a', 'e', 'i', 'o', 'u' }; Console.WriteLine("Contains 'o': " + vowels.Contains('o')); } } }
6. IndexOf()
La méthode IndexOf
renvoie l'indice de la première occurrence d'un élément dans une liste.
Syntaxe : exampleList.IndexOf(element);
index
using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { List<char> vowels = new List<char> { 'a', 'e', 'i', 'o', 'u' }; vowels.Remove('o'); Console.WriteLine("Index of 'o': " + vowels.IndexOf('o')); } } }
Si l'élément n'existe pas dans la liste, il retourne simplement -1
:
La méthode indexOf
est particulièrement utile lorsque nous voulons accéder à un élément par index mais que nous ne connaissons pas son index. Par exemple, dans les vowels
, nous voulons accéder à l'élément o
par index et le changer en majuscule O
:
index
using System; using System.Collections.Generic; namespace ConsoleApp { class Program { static void Main(string[] args) { List<char> vowels = new List<char> { 'a', 'e', 'i', 'o', 'u' }; int targetIndex = vowels.IndexOf('o'); Console.WriteLine(vowels[targetIndex]); vowels[targetIndex] = 'O'; Console.WriteLine(vowels[targetIndex]); } } }
1. Que fait la méthode Remove()
?
2. Quelle est la façon la plus rapide de vérifier si une liste contient un élément spécifique ?
3. Quelle méthode est utilisée pour supprimer tous les éléments d'une liste ?
4. Quel sera le résultat du code suivant ?
Merci pour vos commentaires !