AIDE .NET

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

Publié mars 6, 2024
Partager:

Introduction

Parmi les nombreux langages de programmation disponibles, C# est devenu une option populaire et adaptable pour les développeurs. L'idée des collections est au cœur de la vaste bibliothèque et des cadres de C#, qui constituent l'un des principaux avantages du langage. En C#, une collection est essentielle pour stocker et organiser efficacement les données. Ils offrent aux développeurs un large éventail d'outils efficaces pour résoudre des problèmes de programmation complexes. Dans cet article, nous nous pencherons plus en détail sur les collections, leurs caractéristiques, leurs types et les stratégies d'utilisation optimales.

Comment utiliser les collections C# ?

  1. Créez un nouveau projet Console App.

  2. Créer un objet pour la collection en C#.

  3. Ajoutez les valeurs à la classe collection, qui peut stocker plusieurs ensembles d'objets.

  4. Traiter les opérations de valeur telles que l'ajout, la suppression, le tri, etc,

  5. Afficher le résultat et éliminer l'objet.

C# : Comprendre les collections

Les collections en C# sont des conteneurs qui permettent aux programmeurs de travailler avec des ensembles de classes d'objets et de les stocker. Ces objets sont flexibles et adaptables à de nombreux contextes de programmation, et ils peuvent être du même type ou de types différents. La plupart des classes de collection mettent en œuvre des composants du système en C#, ce qui implique l'importation d'espaces de noms tels queSystem.Collections et System.Collections.Generic, qui propose diverses classes de collections génériques et non génériques. Les collections permettent également l'allocation dynamique de mémoire, l'ajout, la recherche et le tri des éléments dans les classes de collection.

Types de collections non génériques

ArrayList, Hashtable et Queue sont quelques-unes des classes de collection non génériques disponibles en C# qui ont été incluses dans les premières itérations du langage. Ces collections offrent une alternative à la définition explicite du type de choses que vous souhaitez conserver et avec lesquelles vous souhaitez travailler. Cependant, les développeurs choisissent souvent des collections génériques en raison de leurs performances supérieures et de leur sécurité de type.

Collections génériques

Les itérations ultérieures de C# ont inclus des collections génériques pour pallier les inconvénients des collections non génériques. Ils assurent la sécurité des types lors de la compilation et permettent aux développeurs de traiter des données étroitement typées. Les classes de collection génériques List, Dictionnaire<TKey, TValue>fichier d'attenteet Stacksont des exemples souvent utilisés. Ces collections sont l'option de choix dans le développement C# contemporain car elles offrent de meilleures performances et une vérification de type au moment de la compilation.

Principaux types de collection C

1. Liste

Un tableau dynamique qui facilite l'insertion et le retrait rapides et faciles d'éléments est la listeclasse. Il s'agit d'une option flexible pour les situations nécessitant une collection redimensionnable, car elle offre des possibilités de filtrage, de recherche et de manipulation des composants.

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Add(6); // adds element '6' to the end
numbers.Remove(3); // removes all the items that are '3'
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Add(6); // adds element '6' to the end
numbers.Remove(3); // removes all the items that are '3'
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
numbers.Add(6) ' adds element '6' to the end
numbers.Remove(3) ' removes all the items that are '3'
VB   C#

2. Dictionnaire<TKey, TValue>

Pour une recherche rapide, une collection de paires clé-valeur est représentée par la classe Dictionary<TKey, TValue>. Elle est fréquemment utilisée dans des situations où il est crucial d'avoir un accès rapide aux données par le biais d'une valeur clé spéciale. Cette clé est utilisée pour accéder aux éléments du dictionnaire.

Dictionary<string, int> ageMap = new Dictionary<string, int>();
ageMap.Add("John", 25); // the string "John" is the key that can access the value 25
ageMap["Jane"] = 30; // setting the key "Jane" to hold the value 30
Dictionary<string, int> ageMap = new Dictionary<string, int>();
ageMap.Add("John", 25); // the string "John" is the key that can access the value 25
ageMap["Jane"] = 30; // setting the key "Jane" to hold the value 30
Dim ageMap As New Dictionary(Of String, Integer)()
ageMap.Add("John", 25) ' the string "John" is the key that can access the value 25
ageMap("Jane") = 30 ' setting the key "Jane" to hold the value 30
VB   C#

3. File d'attenteet Stack

La collection "premier entré, premier sorti(FIFO)et le dernier entré, premier sorti(LIFO) sont mis en œuvre, respectivement, par la file d'attente génériqueet Stack génériqueclasses. Ils peuvent être utilisés pour gérer des éléments dans un certain ordre en fonction des besoins de l'application.

Queue<string> tasks = new Queue<string>(); // creating a queue class
tasks.Enqueue("Task 1"); // adding to the queue
tasks.Enqueue("Task 2");
Stack<double> numbers = new Stack<double>(); // creating a stack class
numbers.Push(3.14); // adding to the stack
numbers.Push(2.71);
Queue<string> tasks = new Queue<string>(); // creating a queue class
tasks.Enqueue("Task 1"); // adding to the queue
tasks.Enqueue("Task 2");
Stack<double> numbers = new Stack<double>(); // creating a stack class
numbers.Push(3.14); // adding to the stack
numbers.Push(2.71);
Dim tasks As New Queue(Of String)() ' creating a queue class
tasks.Enqueue("Task 1") ' adding to the queue
tasks.Enqueue("Task 2")
Dim numbers As New Stack(Of Double)() ' creating a stack class
numbers.Push(3.14) ' adding to the stack
numbers.Push(2.71)
VB   C#

4. HashSet

Les éléments uniques disposés dans une collection non ordonnée sont représentés par le HashSetclasse. Il offre des moyens efficaces d'effectuer des opérations sur les ensembles, telles que la différence, l'union et l'intersection.

HashSet<int> setA = new HashSet<int> { 1, 2, 3, 4 };
HashSet<int> setB = new HashSet<int> { 3, 4, 5, 6 };
HashSet<int> unionSet = new HashSet<int>(setA);
unionSet.UnionWith(setB); // combining setA and setB
HashSet<int> setA = new HashSet<int> { 1, 2, 3, 4 };
HashSet<int> setB = new HashSet<int> { 3, 4, 5, 6 };
HashSet<int> unionSet = new HashSet<int>(setA);
unionSet.UnionWith(setB); // combining setA and setB
Dim setA As New HashSet(Of Integer) From {1, 2, 3, 4}
Dim setB As New HashSet(Of Integer) From {3, 4, 5, 6}
Dim unionSet As New HashSet(Of Integer)(setA)
unionSet.UnionWith(setB) ' combining setA and setB
VB   C#

IronPDF

Collection C# (Comment ça marche pour les développeurs) : Figure 1 - Page du site web d'IronPDF

Une bibliothèque C# appeléeIronPDF facilite la création, la modification et l'affichage de documents PDF dans les applications .NET. Il offre de nombreux choix de licences, une compatibilité multiplateforme, un rendu de haute qualité et une conversion de HTML en PDF. L'API conviviale d'IronPDF facilite la manipulation des PDF, ce qui en fait un outil précieux pour les développeurs C#.

La caractéristique principale d'IronPDF est son**Conversion de HTML en PDF la traduction doit être réalisée avec une capacité d'adaptation qui permet de conserver toutes les mises en page et tous les styles. Il génère des PDF à partir de contenus web, ce qui le rend idéal pour les rapports, les factures et la documentation. Les fichiers HTML, les URL et les chaînes HTML peuvent être convertis en PDF sans effort.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
VB   C#

Les principales caractéristiques d'IronPDF sont les suivantes :

  • Convertir HTML en PDF : Avec IronPDF, les programmeurs peuvent créer des documents PDF à partir de texte HTML, y compris CSS et JavaScript. Ceci est particulièrement utile pour ceux qui sont déjà familiers avec les outils de développement web et qui souhaitent utiliser HTML et CSS pour créer des PDF.
  • Génération et manipulation de fichiers PDF : La bibliothèque permet de créer des documents PDF à partir de zéro de manière programmatique. En outre, il facilite l'édition de PDF préexistants, permettant des opérations telles que l'extraction de texte, l'ajout de filigranes, la division de PDF, etc.
  • Rendu supérieur : IronPDF utilise un moteur de rendu pour générer une sortie PDF du plus haut calibre, garantissant que les documents finaux conservent leur clarté et leur intégrité visuelle.
  • Compatibilité multiplateforme : IronPDF est conçu pour fonctionner à la fois avec .NET Core et .NET Framework, ce qui lui permet d'être utilisé dans diverses applications et sur une gamme de plateformes.
  • Optimisation des performances : Même lorsque l'on travaille avec des documents PDF volumineux ou compliqués, la bibliothèque est conçue pour assurer une production et un rendu efficaces des PDF.

    Pour en savoir plus sur la documentation d'IronPDF, consultez le site web de l'entrepriseDocumentation IronPDF.

Installation d'IronPDF

Installez d'abord la bibliothèque IronPDF à l'aide de la console du gestionnaire de paquets ou du gestionnaire de paquets NuGet :

Install-Package IronPdf

Collection C# (Comment ça marche pour les développeurs) : Figure 2 - Installation d'IronPDF à l'aide de la console du gestionnaire de paquets

L'utilisation du gestionnaire de paquets NuGet pour rechercher le paquetage "IronPDF" est une option supplémentaire. Nous pouvons choisir et télécharger le paquet nécessaire à partir de cette liste parmi tous les paquets NuGet associés à IronPDF.

Collection C# (Comment ça marche pour les développeurs) : Figure 3 - Installation d'IronPDF avec le gestionnaire de paquets NuGet

Création de documents avec des collections à l'aide d'IronPDF

Il est essentiel de comprendre le rôle que jouent les collections dans les structures et l'organisation des données avant d'aborder l'interface avec IronPDF. Les développeurs peuvent stocker, récupérer et modifier des groupes d'objets de manière organisée en utilisant des collections. Il existe de nombreux types différents, tels que List, Dictionnaire<TKey, TValue>et HashSetles développeurs peuvent sélectionner la collection qui répond le mieux à leurs besoins.

Imaginez que vous deviez créer un rapport contenant une liste de transactions commerciales. Les données peuvent être organisées efficacement à l'aide d'une listequi sert de base à un traitement et à un affichage supplémentaires.

public class Transaction
{
    public string ProductName { get; set; }
    public decimal Amount { get; set; }
    public DateTime Date { get; set; }
}
List<Transaction> transactions = new List<Transaction>
{
    new Transaction { ProductName = "Product A", Amount = 100.50m, Date = DateTime.Now.AddDays(-2) },
    new Transaction { ProductName = "Product B", Amount = 75.20m, Date = DateTime.Now.AddDays(-1) },
    // Add more transactions as needed
};
public class Transaction
{
    public string ProductName { get; set; }
    public decimal Amount { get; set; }
    public DateTime Date { get; set; }
}
List<Transaction> transactions = new List<Transaction>
{
    new Transaction { ProductName = "Product A", Amount = 100.50m, Date = DateTime.Now.AddDays(-2) },
    new Transaction { ProductName = "Product B", Amount = 75.20m, Date = DateTime.Now.AddDays(-1) },
    // Add more transactions as needed
};
Public Class Transaction
	Public Property ProductName() As String
	Public Property Amount() As Decimal
	Public Property [Date]() As DateTime
End Class
Private transactions As New List(Of Transaction) From {
	New Transaction With {
		.ProductName = "Product A",
		.Amount = 100.50D,
		.Date = DateTime.Now.AddDays(-2)
	},
	New Transaction With {
		.ProductName = "Product B",
		.Amount = 75.20D,
		.Date = DateTime.Now.AddDays(-1)
	}
}
VB   C#

Dans le PDF, nous allons créer un tableau simple qui répertorie le nom du produit, le montant de la transaction et la date pour chacun d'entre eux.

var pdfDocument = new IronPdf.HtmlToPdf();
// HTML content with a table populated by data from the 'transactions' list
string htmlContent = "<table><tr><th>Product Name</th><th>Amount</th><th>Date</th></tr>";
foreach (var transaction in transactions)
{
    htmlContent += $"<tr><td>{transaction.ProductName}</td><td>{transaction.Amount}</td><td>{transaction.Date.ToShortDateString()}</td></tr>";
}
htmlContent += "</table>";
// Convert HTML to PDF
PdfDocument pdf =  pdfDocument.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs(pdfFilePath);
var pdfDocument = new IronPdf.HtmlToPdf();
// HTML content with a table populated by data from the 'transactions' list
string htmlContent = "<table><tr><th>Product Name</th><th>Amount</th><th>Date</th></tr>";
foreach (var transaction in transactions)
{
    htmlContent += $"<tr><td>{transaction.ProductName}</td><td>{transaction.Amount}</td><td>{transaction.Date.ToShortDateString()}</td></tr>";
}
htmlContent += "</table>";
// Convert HTML to PDF
PdfDocument pdf =  pdfDocument.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs(pdfFilePath);
Dim pdfDocument = New IronPdf.HtmlToPdf()
' HTML content with a table populated by data from the 'transactions' list
Dim htmlContent As String = "<table><tr><th>Product Name</th><th>Amount</th><th>Date</th></tr>"
For Each transaction In transactions
	htmlContent &= $"<tr><td>{transaction.ProductName}</td><td>{transaction.Amount}</td><td>{transaction.Date.ToShortDateString()}</td></tr>"
Next transaction
htmlContent &= "</table>"
' Convert HTML to PDF
Dim pdf As PdfDocument = pdfDocument.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs(pdfFilePath)
VB   C#

Les développeurs ont la possibilité d'enregistrer le document PDF sur le disque ou de le montrer aux utilisateurs une fois qu'il a été produit. IronPDF offre plusieurs choix de sortie, notamment la diffusion en continu par navigateur, l'enregistrement de fichiers et l'intégration du stockage dans le cloud.

Collection C# (Comment ça marche pour les développeurs) : Figure 4 - PDF produit à partir du code précédent

L'écran ci-dessus montre la sortie générée par le code ci-dessus. Pour en savoir plus sur le code, consultezUtiliser HTML pour créer un PDF Exemple.

Conclusion

Une pléthore de possibilités de production dynamique de documents sont rendues possibles en combinant les collections avec IronPDF. Les développeurs peuvent gérer et organiser efficacement les données en utilisant des collections, et IronPDF facilite la création de documents PDF d'une grande beauté visuelle. La puissance combinée d'IronPDF et des collections offre une solution fiable et adaptable pour la production de contenu dynamique dans les applications C#, quel que soit le type de document que vous produisez - factures, rapports ou autre.

L'édition Lite d'IronPDF comprend un an de support logiciel, des options de mise à jour et une licence permanente. Les utilisateurs ont également la possibilité d'évaluer le produit dans des conditions réelles pendant la période d'essai en filigrane. Pour en savoir plus sur le coût d'IronPDF, les licences et la version d'essai gratuite, veuillez consulter le site Web de la sociétéInformations sur les licences IronPDF. Pour plus d'informations sur Iron Software, rendez-vous sur le site de l'entrepriseSite web d'Iron Software.

< PRÉCÉDENT
MSTest C# (Comment ça marche pour les développeurs)
SUIVANT >
Opérateur conditionnel Null en C# (Comment ça marche pour les développeurs)