AIDE .NET

Liste triée C# (Comment cela fonctionne pour les développeurs)

Publié décembre 15, 2024
Partager:

Introduction à C# SortedList

Qu'est-ce qu'un SortedList ?

La classe SortedList en C# est une collection de paires clé-valeur, similaire à un dictionnaire, mais avec l'avantage supplémentaire d'un tri automatique par clés. C'est une partie de l'espace de noms System.Collections.Generic et est conçu pour les scénarios où vous avez besoin d'un accès rapide à des données triées. SortedList TKey, TValue est idéal lorsque vous devez maintenir les données dans un ordre particulier et accéder efficacement aux éléments par clé.

Lorsqu'il s'agit de travailler avecListesTriéesParallèlement aux tâches de génération de PDF, IronPDF s'intègre parfaitement avec cette classe, vous offrant encore plus de contrôle sur la génération de PDF.

Principales caractéristiques et cas d'utilisation

  • Stockage de paires clé-valeur : Comme un dictionnaire, SortedList stocke les données sous forme de paires clé-valeur.
  • Tri Automatique : SortedList garde les valeurs associées triées par clé, par ordre croissant par défaut.
  • Récupération de Données Efficace : La récupération rapide des valeurs associées par clé le rend adapté aux recherches.
  • Cas d'utilisation : SortedList est utile pour les applications nécessitant des données triées, telles que la gestion de listes ordonnées de noms, de dates ou de valeurs numériques.

Fonctionnement de SortedList

Aperçu de la structure de données

La classe publique SortedList est un hybride entre un tableau et une table de hachage, et elle organise ses éléments par clé. En interne, il utilise un tableau trié pour garder les valeurs clés en ordre, ce qui signifie que bien que les recherches par clé soient efficaces, les opérations d'insertion et de suppression peuvent être plus lentes que dans un Dictionnaire.

Mécanisme de tri

Par défaut, SortedList TKey, TValue trie les clés par ordre croissant en utilisant l'interface IComparable, ce qui garantit que les clés de type chaîne et d'autres types implémentent un comportement de comparaison par défaut. Si un ordre de tri personnalisé est nécessaire, un comparateur personnalisé peut être fourni.

Avantages et limites

  • Avantages :

    • Accès rapide aux clés : Fournit un accès rapide aux o(log n)accès par clé.
    • Ordre Trié : Les données sont automatiquement triées par clé, il n'est donc pas nécessaire de tri supplémentaire.
  • Inconvénients :

    • Vitesse d'insertion : Plus lente que le dictionnaire pour les insertions, surtout avec des données volumineuses.
    • Efficacité limitée pour les opérations non essentielles : Limitée dans les cas où les données ne sont pas principalement accessibles par des valeurs clés spécifiques.

Travailler avec SortedList en C

Création d'un SortedList

Pour créer un SortedList en C#, vous pouvez utiliser soit le constructeur par défaut, soit passer un IComparer si vous avez besoin d'un tri personnalisé. La SortedList a une capacité initiale par défaut de 16, mais si vous connaissez la taille approximative à l'avance, vous pouvez la spécifier pour améliorer les performances.

SortedList<int, string> sortedList = new SortedList<int, string>();
SortedList<int, string> sortedList = new SortedList<int, string>();
Dim sortedList As New SortedList(Of Integer, String)()
VB   C#

Ajout d'éléments

Vous pouvez ajouter des paires clé-valeur à la SortedList en utilisant la méthode Add, qui gardera les éléments triés par clé. Dans l'exemple de code suivant, le SortedList est trié par les valeurs de clé spécifiées, maintenant automatiquement les données en ordre croissant.

sortedList.Add(1, "Apple");
sortedList.Add(3, "Banana");
sortedList.Add(2, "Cherry");
sortedList.Add(1, "Apple");
sortedList.Add(3, "Banana");
sortedList.Add(2, "Cherry");
sortedList.Add(1, "Apple")
sortedList.Add(3, "Banana")
sortedList.Add(2, "Cherry")
VB   C#

Accéder et modifier les éléments

Accédez aux éléments dans une SortedList en utilisant leurs clés. Vous pouvez récupérer ou modifier toute valeur spécifiée associée aux clés directement.

// Accessing a specific value by key
string value = sortedList[1];  // "Apple"
// Modifying a value
sortedList[1] = "Avocado";
// Accessing a specific value by key
string value = sortedList[1];  // "Apple"
// Modifying a value
sortedList[1] = "Avocado";
' Accessing a specific value by key
Dim value As String = sortedList(1) ' "Apple"
' Modifying a value
sortedList(1) = "Avocado"
VB   C#

Suppression d'éléments

Vous pouvez supprimer des éléments en utilisant les clés spécifiées avec la méthode Remove ou les supprimer en utilisant l'index spécifié avec RemoveAt. Les deux options permettent la suppression contrôlée des données d'objet spécifiées dans le SortedList.

sortedList.Remove(3);       // Removes key 3
sortedList.RemoveAt(0);     // Removes item at a zero-based index 0
sortedList.Remove(3);       // Removes key 3
sortedList.RemoveAt(0);     // Removes item at a zero-based index 0
sortedList.Remove(3) ' Removes key 3
sortedList.RemoveAt(0) ' Removes item at a zero-based index 0
VB   C#

Itération sur un SortedList

Vous pouvez itérer sur SortedList en utilisant une boucle foreach, qui récupère à la fois les clés et les valeurs par ordre trié.

foreach (KeyValuePair<int, string> kvp in sortedList)
{
    Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}
foreach (KeyValuePair<int, string> kvp in sortedList)
{
    Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}
For Each kvp As KeyValuePair(Of Integer, String) In sortedList
	Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}")
Next kvp
VB   C#

Liste triée C# (Comment cela fonctionne pour les développeurs) : Figure 1

Exemples pratiques d'utilisation de SortedList

  • Exemple 1 : Stockage et récupération de données dans un format simple clé-valeur où l'ordre est important, comme les noms d'étudiants par leurs numéros de matricule.
  • Exemple 2 : Utiliser SortedList dans des scénarios plus complexes, tels que l'affichage de journaux de transactions triés ou de scores classés.

    Meilleures Pratiques :

  • Utilisez SortedList lorsque les clés sont le point d'accès principal et doivent rester triées.
  • Pour des insertions fréquentes, envisagez des alternatives comme SortedDictionary pour de meilleures performances.

Considérations sur les performances

Comparaison entre SortedList, Dictionary et List

  • SortedList vs. Dictionary : SortedList est plus lent pour les insertions que Dictionary en raison de son mécanisme de tri.
  • SortedList vs. List : Contrairement à une liste, SortedList est conçue pour accéder aux éléments par clé et maintient les éléments dans un ordre trié.

    Quand utiliser SortedList : Utilisez-le lorsque vous avez besoin de données triées et que vous y accédez principalement par clé, en particulier pour des scénarios à forte lecture.

Intégration avec IronPDF pour l'exportation PDF

Introduction à IronPDF

Liste triée C# (Comment cela fonctionne pour les développeurs) : Figure 2

IronPDFest une bibliothèque puissante pour générer et modifier des fichiers PDF en C#. Il permet aux développeurs de créer des PDFs à partir de diverses sources, d'ajouter du contenu de manière programmatique et de personnaliser les mises en page des PDFs. Dans cette section, nous utiliserons IronPDF pour créer un rapport PDF à partir de données SortedList.

Génération de rapports PDF à partir de données SortedList

Pour commencer à utiliser IronPDF, installez le package NuGet IronPDF :

Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
VB   C#

Exemple : Exportation de données d'un SortedList vers un PDF

L'exemple suivant illustre comment exporter des données d'une SortedList vers un tableau PDF.

Tout d'abord, configurez votre SortedList :

SortedList<int, string> sortedList = new SortedList<int, string>
{
    { 1, "Apple" },
    { 2, "Banana" },
    { 3, "Cherry" }
};
SortedList<int, string> sortedList = new SortedList<int, string>
{
    { 1, "Apple" },
    { 2, "Banana" },
    { 3, "Cherry" }
};
Dim sortedList As New SortedList(Of Integer, String) From {
	{1, "Apple"},
	{2, "Banana"},
	{3, "Cherry"}
}
VB   C#

Ensuite, utilisez IronPDF pour générer un PDF à partir de ces données :

ChromePdfRenderer renderer = new ChromePdfRenderer();
string html = "<h1>Sorted List Data</h1><table border='1'><tr><th>Key</th><th>Value</th></tr>";
foreach (var kvp in sortedList)
{
    html += $"<tr><td>{kvp.Key}</td><td>{kvp.Value}</td></tr>";
}
html += "</table>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("sortedList.pdf");
ChromePdfRenderer renderer = new ChromePdfRenderer();
string html = "<h1>Sorted List Data</h1><table border='1'><tr><th>Key</th><th>Value</th></tr>";
foreach (var kvp in sortedList)
{
    html += $"<tr><td>{kvp.Key}</td><td>{kvp.Value}</td></tr>";
}
html += "</table>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("sortedList.pdf");
Dim renderer As New ChromePdfRenderer()
Dim html As String = "<h1>Sorted List Data</h1><table border='1'><tr><th>Key</th><th>Value</th></tr>"
For Each kvp In sortedList
	html &= $"<tr><td>{kvp.Key}</td><td>{kvp.Value}</td></tr>"
Next kvp
html &= "</table>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("sortedList.pdf")
VB   C#

Liste triée C# (Comment cela fonctionne pour les développeurs) : Figure 3

Ce code crée un tableau HTML à partir des données de SortedList et le convertit en PDF à l'aide d'IronPDF.

Fonctionnalités avancées

  • Personnalisation de la mise en page PDF : IronPDF permet le style CSS pour les mises en page, les polices, les couleurs, etc.
  • En-têtes et pieds de page : IronPDF prend en charge les en-têtes et pieds de page, qui peuvent inclure des numéros de page ou des logos.

Résumé et Meilleures Pratiques

  • Aperçu de SortedList : SortedList est une collection clé-valeur triée, idéale pour les scénarios où les données sont accédées par une clé spécifique et doivent rester triées.
  • Utilisation de IronPDF pour l'exportation : IronPDF est une bibliothèque pratique pour exporter des données SortedList vers un PDF, prenant en charge les mises en page et le style personnalisés.

Conclusion

Dans cet article, nous avons exploré la classe SortedList en C#, un outil puissant pour gérer des collections de données triées sous forme de paires clé-valeur. SortedList est particulièrement utile dans les scénarios où l'ordre et l'accès efficace par clé sont cruciaux. De la création, de l'ajout et de la suppression d'éléments à l'intégration avec IronPDF pour l'exportation en PDF, nous avons couvert des étapes pratiques et des meilleures pratiques pour utiliser SortedList dans des applications concrètes.

De plus, nous avons présenté commentIronPDFpeut simplifier la tâche d'exporter des valeurs spécifiées d'une SortedList au format PDF, permettant ainsi de créer facilement des rapports professionnels et bien organisés. La polyvalence d'IronPDF, y compris les en-têtes, pieds de page et styles CSS personnalisables, en fait un excellent choix pour générer des PDF directement depuis vos applications C#.

Si vous êtes intéressé par l'essai d'IronPDF, il propose une essai gratuitqui vous permet d'explorer toute sa gamme de fonctionnalités sans engagement. Avec cet essai, vous pouvez tester la génération de PDF, les options de personnalisation et l'intégration dans leurs projets existants pour vous assurer qu'il répond à leurs besoins. En combinant SortedList et IronPDF, les développeurs obtiennent une solution robuste et efficace pour gérer et rendre compte des données triées dans les applications C#.

< PRÉCÉDENT
C# Trim (Comment ça fonctionne pour les développeurs)
SUIVANT >
C# Float (Comment cela fonctionne pour les développeurs)