AIDE .NET

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

Publié 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;
Imports System.Collections.Generic
VB   C#

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>();
Dim numbers As New List(Of Integer)()
VB   C#

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" };
Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}
VB   C#

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);
numbers.Add(1) ' adds first element
numbers.Add(2)
numbers.Add(3)
VB   C#

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);
Dim moreNumbers As New List(Of Integer) From {4, 5, 6}
numbers.AddRange(moreNumbers)
VB   C#

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"
Dim firstFruit As String = fruits(0) ' "apple"
Dim secondFruit As String = fruits(1) ' "banana"
VB   C#

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";
fruits(1) = "blueberry"
VB   C#

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");
fruits.Remove("apple")
VB   C#

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);
fruits.RemoveAt(0)
VB   C#

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

fruits.Clear();
fruits.Clear();
fruits.Clear()
VB   C#

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
Dim containsApple As Boolean = fruits.Contains("apple") ' true
VB   C#

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
Dim appleIndex As Integer = fruits.IndexOf("apple") ' 0
VB   C#

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);
}
For Each fruit As String In fruits
	Console.WriteLine(fruit)
Next fruit
VB   C#

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]);
}
For i As Integer = 0 To fruits.Count - 1
	Console.WriteLine(fruits(i))
Next i
VB   C#

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 }
Dim unsortedNumbers As New List(Of Integer) From {5, 2, 8, 1, 4}
unsortedNumbers.Sort()

' Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
VB   C#

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 }
unsortedNumbers.Sort(Function(a, b) b.CompareTo(a))

' Now, unsortedNumbers is { 8, 5, 4, 2, 1 }
VB   C#

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;
Imports System.Linq
VB   C#

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();
Dim evenNumbers As List(Of Integer) = numbers.Where(Function(x) x Mod 2 = 0).ToList()
VB   C#

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();
Dim fruitNamesUpperCase As List(Of String) = fruits.Select(Function(x) x.ToUpper()).ToList()
VB   C#

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();
Dim minValue As Integer = numbers.Min()
Dim maxValue As Integer = numbers.Max()
VB   C#

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();
Dim numbersArray() As Integer = numbers.ToArray()
VB   C#

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;
Imports IronPdf
VB   C#

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);
}
Imports System.Collections.Generic
Imports IronPdf
Imports System.Text
Private Sub ExportListToPdf(ByVal data As List(Of String), ByVal pdfFilePath As String)
	' Create an HTML table from the list data
	Dim htmlBuilder As New StringBuilder()
	htmlBuilder.Append("<table><tr><th>Item</th></tr>")

	For Each item As String In data
		htmlBuilder.Append($"<tr><td>{item}</td></tr>")
	Next item

	htmlBuilder.Append("</table>")

	' Convert the HTML table to a PDF using IronPDF specified object
	Dim renderer = New ChromePdfRenderer()
	Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())

	' Save the PDF to the specified file path
	pdf.SaveAs(pdfFilePath)
End Sub
VB   C#

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");
Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}
ExportListToPdf(fruits, "Fruits.pdf")
VB   C#

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.

< 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)