Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce didacticiel d’introduction fournit une introduction au langage C# et aux principes de base de la System.Collections.Generic.List<T> classe.
Ce tutoriel vous apprend C#. Vous écrivez du code C# et voyez les résultats de la compilation et de l’exécution de ce code. Il contient une série de leçons qui créent, modifient et explorent des collections. Vous travaillez principalement avec la List<T> classe.
Dans ce tutoriel, vous allez :
- Lancez un espace de code GitHub avec un environnement de développement C#.
- Créez différents types de listes.
- Modifiez le contenu de la liste.
- Rechercher et trier des listes.
Prerequisites
Vous devez disposer de l’un des éléments suivants :
- Un compte GitHub pour utiliser GitHub Codespaces. Si vous n’en avez pas encore, vous pouvez créer un compte gratuit à GitHub.com.
- Un ordinateur avec les outils suivants installés :
Exemple de liste de base
Pour démarrer un Espace de code GitHub avec l’environnement du didacticiel, ouvrez une fenêtre de navigateur dans le référentiel codespace du didacticiel . Sélectionnez le bouton Code vert et l’onglet Espaces de code . Sélectionnez ensuite le + signe pour créer un espace de code à l’aide de cet environnement. Si vous avez terminé d’autres didacticiels de cette série, vous pouvez ouvrir cet espace de code au lieu de en créer un nouveau.
Lorsque votre espace de code se charge, créez un fichier dans le dossier didacticiels nommé lists.cs.
Ouvrez votre nouveau fichier.
Tapez ou copiez le code suivant dans lists.cs :
List<string> names = ["<name>", "Ana", "Felipe"]; foreach (var name in names) { Console.WriteLine($"Hello {name.ToUpper()}!"); }Exécutez le code en tapant la commande suivante dans la fenêtre de terminal :
cd tutorials dotnet lists.cs
Vous avez créé une liste de chaînes, ajouté trois noms à cette liste et imprimé les noms dans toutes les majuscules. Vous utilisez des concepts que vous avez appris dans les didacticiels précédents pour parcourir la liste.
Le code pour afficher les noms utilise la fonctionnalité d’interpolation de chaîne . Lorsque vous précédez le caractère string d'un $, vous pouvez incorporer du code C# dans la déclaration de chaîne de caractères. La chaîne réelle remplace ce code C# par la valeur qu’elle génère. Dans cet exemple, il remplace le {name.ToUpper()} par chaque nom, converti en lettres majuscules, car vous avez appelé la méthode String.ToUpper.
Nous allons continuer à explorer.
Modifier le contenu de la liste
La collection que vous avez créée utilise le List<T> type. Ce type stocke les séquences d’éléments. Vous spécifiez le type des éléments entre les crochets angle.
Un aspect important de ce List<T> type est qu’il peut croître ou réduire, ce qui vous permet d’ajouter ou de supprimer des éléments. Vous pouvez voir les résultats en modifiant le contenu après avoir affiché son contenu.
Ajoutez le code suivant après le code que vous avez déjà écrit (la boucle qui imprime le contenu) :
Console.WriteLine(); names.Add("Maria"); names.Add("Bill"); names.Remove("Ana"); foreach (var name in names) { Console.WriteLine($"Hello {name.ToUpper()}!"); }Vous avez ajouté deux noms supplémentaires à la fin de la liste. Vous en avez également supprimé un. La sortie de ce bloc de code affiche le contenu initial, puis imprime une ligne vide et le nouveau contenu.
La List<T> vous permet en outre de faire référence à des éléments individuels par index. Vous accédez aux éléments à l’aide des jetons
[et]. Ajoutez le code suivant après ce que vous avez déjà écrit et essayez-le :Console.WriteLine($"My name is {names[0]}."); Console.WriteLine($"I've added {names[2]} and {names[3]} to the list.");Vous n’êtes pas autorisé à accéder au-delà de la fin de la liste. Vous pouvez vérifier la longueur de la liste à l’aide de la propriété Count.
Ajoutez le code suivant :
Console.WriteLine($"The list has {names.Count} people in it");Tapez
dotnet lists.csà nouveau dans la fenêtre de terminal pour afficher les résultats. En C#, les index commencent à 0, de sorte que le plus grand index valide est un index inférieur au nombre d’éléments de la liste.
Pour plus d’informations sur les index, consultez l’article Explorer les index et plages .
Rechercher et trier des listes
Nos exemples utilisent des listes relativement petites, mais vos applications peuvent souvent créer des listes avec de nombreux éléments supplémentaires, parfois numérotés dans les milliers. Pour rechercher des éléments dans ces collections plus volumineuses, vous devez rechercher les différents éléments dans la liste. La IndexOf méthode recherche un élément et retourne l’index de l’élément. Si l’élément n’est pas dans la liste, IndexOf retourne -1.
Essayez de voir comment cela fonctionne. Ajoutez le code suivant après ce que vous avez écrit jusqu’à présent :
var index = names.IndexOf("Felipe"); if (index == -1) { Console.WriteLine($"When an item is not found, IndexOf returns {index}"); } else { Console.WriteLine($"The name {names[index]} is at index {index}"); } index = names.IndexOf("Not Found"); if (index == -1) { Console.WriteLine($"When an item is not found, IndexOf returns {index}"); } else { Console.WriteLine($"The name {names[index]} is at index {index}"); }Vous ne savez peut-être pas si un élément figure dans la liste. Vous devez donc toujours vérifier l’index retourné par IndexOf. Si c’est
-1le cas, l’élément n’a pas été trouvé.Vous pouvez également trier les éléments de votre liste. La Sort méthode trie tous les éléments de la liste dans leur ordre normal (par ordre alphabétique pour les chaînes). Ajoutez ce code et réexécutez :
names.Sort(); foreach (var name in names) { Console.WriteLine($"Hello {name.ToUpper()}!"); }
Listes d’autres types
Jusqu’à présent, vous avez utilisé le string type dans les listes. Créons un List<T> en utilisant un type différent. Créons un ensemble de nombres.
Ajoutez le code suivant à la fin de votre fichier source :
List<int> fibonacciNumbers = [1, 1];Ce code crée une liste d’entiers et définit les deux premiers entiers sur la valeur 1. La séquence Fibonacci, une séquence de nombres, commence par deux 1. Chaque nombre Fibonacci suivant est trouvé en prenant la somme des deux nombres précédents.
Ajoutez ce code :
var previous = fibonacciNumbers[fibonacciNumbers.Count - 1]; var previous2 = fibonacciNumbers[fibonacciNumbers.Count - 2]; fibonacciNumbers.Add(previous + previous2); foreach (var item in fibonacciNumbers) { Console.WriteLine(item); }Tapez
dotnet lists.csdans la fenêtre de terminal pour afficher les résultats.
Défi
Voyez si vous pouvez rassembler certains des concepts de cette leçon et des leçons antérieures. Développez ce que vous avez construit jusqu’à présent avec Fibonacci Numbers. Essayez d’écrire le code pour générer les 20 premiers nombres dans la séquence. (À titre d’indicateur, le 20e nombre Fibonacci est 6765.)
Tu as trouvé quelque chose comme ça ?
List<int> fibonacciNumbers = [1, 1];
while (fibonacciNumbers.Count < 20)
{
var previous = fibonacciNumbers[fibonacciNumbers.Count - 1];
var previous2 = fibonacciNumbers[fibonacciNumbers.Count - 2];
fibonacciNumbers.Add(previous + previous2);
}
foreach (var item in fibonacciNumbers)
{
Console.WriteLine(item);
}
Chaque itération de la boucle vous permet de prendre les deux derniers entiers de la liste, de les additionner et d’ajouter cette valeur à la liste. La boucle se répète jusqu’à ce que vous ajoutiez 20 éléments à la liste.
Vous avez terminé le didacticiel de liste. Vous pouvez en savoir plus sur les collections .NET dans les articles suivants :
- Sélection d’un type de collection
- types de collection couramment utilisés
- Quand utiliser des collections génériques
Nettoyer les ressources
GitHub supprime automatiquement votre Espace de code après 30 jours d’inactivité. Si vous envisagez d’explorer d’autres tutoriels de cette série, vous pouvez laisser votre espace de code provisionné. Si vous êtes prêt à visiter le site .NET pour télécharger le Kit de développement logiciel (SDK) .NET, vous pouvez supprimer votre espace de code. Pour supprimer votre espace de code, ouvrez une fenêtre de navigateur et accédez à vos espaces de code. Vous devez voir une liste de vos espaces de code dans la fenêtre. Sélectionnez les trois points (...) dans l’entrée de l’espace de code du didacticiel Learn, puis sélectionnez Supprimer.