Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
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.
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
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)()
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"}
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.
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)
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)
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"
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.
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"
Maintenant, le deuxième élément de la liste des fruits est "myrtille" au lieu de "banane".
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")
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)
Pour supprimer tous les éléments d'une liste, utilisez la méthode Clear
:
fruits.Clear();
fruits.Clear();
fruits.Clear()
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
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
Si l'élément n'est pas trouvé, IndexOf
renvoie -1.
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
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
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 }
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 }
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.
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
Voici quelques exemples de requêtes LINQ sur 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()
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()
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()
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()
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
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
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")
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.
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.
9 produits de l'API .NET pour vos documents de bureau