AIDE .NET

Liste des C# (Comment ça marche pour les développeurs)

Regan Pun
Regan Pun
juin 6, 2023
Partager:

Introduction

Les listes sont des structures de données polyvalentes et dynamiques utilisées pour stocker et manipuler des collections de données dans C#. Les listes font partie de l'espace de noms System.Collections.Generic, qui fournit une gamme de classes de collections puissantes et sûres et d'objets fortement typés. Ce tutoriel destiné aux débutants vous guidera dans les bases de l'utilisation des listes en C#, y compris la création/l'ajout d'éléments, l'accès à l'index spécifié ou à la première occurrence, la modification de l'élément spécifié et la suppression d'éléments, ainsi que certains cas d'utilisation courants.

Création de listes

Pour commencer à utiliser la classe List, vous devez d'abord inclure l'espace de noms générique System.Collections dans votre code :

using System.Collections.Generic;
using System.Collections.Generic;

Après avoir ajouté un espace de noms générique, créez un nouvel objet List en spécifiant le type de données de tous les éléments que vous souhaitez stocker à l'intérieur de crochets angulaires(< >). Voici un exemple de création d'une liste d'entiers :

List<int> numbers = new List<int>();
List<int> numbers = new List<int>();

Vous pouvez également insérer des éléments dans une liste avec certaines valeurs initiales ou définies par la collection spécifiée, comme ceci :

List<string> fruits = new List<string> { "apple", "banana", "cherry" };
List<string> fruits = new List<string> { "apple", "banana", "cherry" };

Nous pouvons également spécifier la capacité initiale par défaut de la liste dans l'exemple ci-dessus. La capacité initiale spécifiée est la capacité maximale par défaut de la liste.

Méthodes de la liste

Ajouter un nombre d'éléments à une liste

Pour ajouter des éléments à votre liste de structures de données internes, utilisez la fonction Add() méthode :

numbers.Add(1);     // adds first element
numbers.Add(2);
numbers.Add(3);
numbers.Add(1);     // adds first element
numbers.Add(2);
numbers.Add(3);

Vous pouvez également ajouter à la liste une plage d'éléments d'une collection donnée à l'aide de la méthode AddRange :

List<int> moreNumbers = new List<int> { 4, 5, 6 };
numbers.AddRange(moreNumbers);
List<int> moreNumbers = new List<int> { 4, 5, 6 };
numbers.AddRange(moreNumbers);

Accès aux éléments de la liste

Vous pouvez accéder à des éléments individuels d'une liste à l'aide d'un index, comme pour les tableaux :

string firstFruit = fruits[0];          // "apple"
string secondFruit = fruits[1];         // "banana"
string firstFruit = fruits[0];          // "apple"
string secondFruit = fruits[1];         // "banana"

Gardez à l'esprit que les listes ont un index basé sur zéro, de sorte que le premier élément a un index de 0. Si l'élément existe, l'exemple ci-dessus stockera cet élément dans la chaîne.

Modification des éléments de la liste

Pour modifier un élément d'une liste, il suffit d'attribuer une nouvelle valeur à l'élément à l'indice souhaité en tenant compte de l'indice de base zéro :

fruits[1] = "blueberry";
fruits[1] = "blueberry";

Maintenant, le deuxième élément de la liste des fruits est "myrtille" au lieu de "banane".

Suppression d'éléments d'une liste

Pour supprimer un élément d'une liste, vous pouvez utiliser la méthode Remove, qui supprime la première occurrence d'un élément spécifié :

fruits.Remove("apple");
fruits.Remove("apple");

Vous pouvez également utiliser la méthode RemoveAt pour supprimer un élément à l'index spécifié si l'élément existe :

fruits.RemoveAt(0);
fruits.RemoveAt(0);

Pour supprimer tous les éléments d'une liste, utilisez la méthode Clear :

fruits.Clear();
fruits.Clear();

Recherche d'éléments dans une liste

Vous pouvez utiliser la fonction Contains() méthode pour vérifier si une liste contient un élément spécifique :

bool containsApple = fruits.Contains("apple");      // true
bool containsApple = fruits.Contains("apple");      // true

Pour trouver l'index de la première occurrence d'un élément, utilisez la méthode IndexOf :

int appleIndex = fruits.IndexOf("apple");           // 0
int appleIndex = fruits.IndexOf("apple");           // 0

Si l'élément n'est pas trouvé, IndexOf renvoie -1.

Boucler une liste

Pour parcourir les éléments d'une liste, vous pouvez utiliser la boucle foreach. En utilisant la boucle foreach, vous pouvez également accéder à tous les éléments du tableau.

foreach (string fruit in fruits)
{
    Console.WriteLine(fruit);
}
foreach (string fruit in fruits)
{
    Console.WriteLine(fruit);
}

Vous pouvez également utiliser une boucle for avec la propriété Count, qui renvoie le nombre d'éléments de la liste :

for (int i = 0; i < fruits.Count; i++)
{
    Console.WriteLine(fruits[i]);
}
for (int i = 0; i < fruits.Count; i++)
{
    Console.WriteLine(fruits[i]);
}

Trier une liste

Pour trier une liste par ordre croissant, utilisez la méthode Sort :

List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 };
unsortedNumbers.Sort();

// Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 };
unsortedNumbers.Sort();

// Now, unsortedNumbers is { 1, 2, 4, 5, 8 }

Pour trier une liste dans l'ordre décroissant, vous pouvez utiliser la méthode Sort avec un délégué de prédicat spécifié par comparaison :

unsortedNumbers.Sort((a, b) => b.CompareTo(a));

// Now, unsortedNumbers is { 8, 5, 4, 2, 1 }
unsortedNumbers.Sort((a, b) => b.CompareTo(a));

// Now, unsortedNumbers is { 8, 5, 4, 2, 1 }

Pour des tris plus complexes, vous pouvez implémenter une classe IComparer personnalisée ou utiliser LINQ(Langue Requête intégrée). L'algorithme de recherche binaire fonctionne sur des listes triées.

Utilisation de LINQ avec des listes

LINQ vous permet d'effectuer des requêtes et des transformations puissantes sur des collections, y compris des listes. Pour utiliser LINQ, vous devez d'abord inclure l'espace de noms System.Linq dans le code du programme de votre classe :

using System.Linq;
using System.Linq;

Voici quelques exemples de requêtes LINQ sur une liste :

Filtrer une liste

List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList();
List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList();

Mise en correspondance (transformation) des éléments d'une liste

List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();
List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();

Recherche des valeurs minimales et maximales dans une liste

int minValue = numbers.Min();
int maxValue = numbers.Max();
int minValue = numbers.Min();
int maxValue = numbers.Max();

Conversion d'une liste en tableau

Pour convertir une liste en tableau, vous pouvez utiliser la méthode ToArray :

int[] numbersArray = numbers.ToArray();
int[] numbersArray = numbers.ToArray();

Exportation des données d'une liste vers un PDF à l'aide d'IronPDF

Dans cette section, nous allons montrer comment exporter les données d'une liste vers un fichier PDF à l'aide de la fonctionBibliothèque IronPDF. Cela peut s'avérer utile lorsque vous souhaitez générer un rapport ou une version imprimable de vos données.

Tout d'abord, téléchargez et installez le paquet NuGet IronPDF dans votre projet :

Install-Package IronPdf

Ensuite, incluez l'espace de noms IronPDF dans votre code :

using IronPdf;
using IronPdf;

Maintenant, créons une fonction simple qui convertit une Liste de chaînes de caractères en un tableau HTML et l'exporte ensuite vers un fichier PDF :

using System.Collections.Generic;
using IronPdf;
using System.Text;
void ExportListToPdf(List<string> data, string pdfFilePath)
{
    // Create an HTML table from the list data
    StringBuilder htmlBuilder = new StringBuilder();
    htmlBuilder.Append("<table><tr><th>Item</th></tr>");

    foreach (string item in data)
    {
        htmlBuilder.Append($"<tr><td>{item}</td></tr>");
    }

    htmlBuilder.Append("</table>");

    // Convert the HTML table to a PDF using IronPDF specified object
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());

    // Save the PDF to the specified file path
    pdf.SaveAs(pdfFilePath);
}
using System.Collections.Generic;
using IronPdf;
using System.Text;
void ExportListToPdf(List<string> data, string pdfFilePath)
{
    // Create an HTML table from the list data
    StringBuilder htmlBuilder = new StringBuilder();
    htmlBuilder.Append("<table><tr><th>Item</th></tr>");

    foreach (string item in data)
    {
        htmlBuilder.Append($"<tr><td>{item}</td></tr>");
    }

    htmlBuilder.Append("</table>");

    // Convert the HTML table to a PDF using IronPDF specified object
    var renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());

    // Save the PDF to the specified file path
    pdf.SaveAs(pdfFilePath);
}

Pour utiliser cette fonction dans l'exemple ci-dessus, il suffit de l'appeler avec votre liste et le chemin d'accès au fichier PDF souhaité :

List<string> fruits = new List<string> { "apple", "banana", "cherry" };
ExportListToPdf(fruits, "Fruits.pdf");
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
ExportListToPdf(fruits, "Fruits.pdf");

Cette opération génère un fichier PDF intitulé "Fruits.pdf" contenant un tableau avec la liste des capacités par défaut des fruitsconversion de HTML en PDF avec IronPDF qui correspond aux conditions définies. Vous pouvez modifier la fonction ExportListToPdf en fonction de vos besoins, par exemple en ajoutant un style personnalisé à la table HTML ou un contenu supplémentaire au PDF.

Liste C# (Comment ça marche pour les développeurs) Figure 1 - HTML vers PDF

Conclusion

Dans ce tutoriel adapté aux débutants, nous avons abordé les bases de l'utilisation des listes C# et démontré comment intégrer IronPDF pour exporter les données des listes vers un fichier PDF. En intégrant IronPDF à vos projets, vous pouvez facilement générer des rapports, des factures ou d'autres documents imprimables à partir de vos projets C#.

IronPDF offre un service deessai gratuitvous pouvez ainsi tester ses capacités avant de vous engager dans un achat. Si vous décidez de continuer à utiliser IronPDF après la période d'essai, la licence commence à partir de $749, avec plusieurs options de licence disponibles pour répondre à vos besoins.

Regan Pun
Ingénieur logiciel
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT
C# This (Comment ça marche pour les développeurs)
SUIVANT >
Qu'est-ce que Visual Studio (comment il fonctionne pour les développeurs)