Créez des PDF uniques avec IronPDF en utilisant des ensembles de hachage !
using IronPdf;
using System;
using System.Collections.Generic;
using System.IO;
class PdfGenerator
{
static void Main()
{
// Sample user names
string [] userNames = { "Alice", "Bob", "Charlie", "Bob", "David", "Alice" };
// Using HashSet to store unique user names
HashSet<string> uniqueUserNames = new HashSet<string>(userNames);
// Generating PDF with unique user names
GeneratePdf(uniqueUserNames);
}
static void GeneratePdf(HashSet<string> uniqueUserNames)
{
// Create a new PDF document using IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf(BuildHtmlDocument(uniqueUserNames));
// Save the PDF to a file
string pdfFilePath = "UniqueUserNames.pdf";
pdf.SaveAs(pdfFilePath);
// Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
}
static string BuildHtmlDocument(HashSet<string> uniqueUserNames)
{
// Build an HTML document with unique user names
string htmlDocument = "<html><body><ul>";
foreach (var userName in uniqueUserNames)
{
htmlDocument += $"<li>{userName}</li>";
}
htmlDocument += "</ul></body></html>";
return htmlDocument;
}
}
HashSet C# (Comment ça marche pour les développeurs)
Chaknith Bin
mars 6, 2024
Partager:
Introduction
La programmation en C# est flexible et offre un large éventail de structures de données permettant de gérer efficacement divers travaux. LesHashSet est l'une de ces structures de données puissantes qui offre des composants distincts et une complexité moyenne en temps constant pour les opérations fondamentales. Ce billet examine l'utilisation de HashSet en C# et la manière dont il peut être utilisé avecIronPDFune puissante bibliothèque pour travailler avec des documents PDF.
Comment utiliser HashSet C&num ;
Créez un nouveau projet Console App.
Créer un objet pour le HashSet en C#. Ajouter la valeur par défaut au HashSet.
Lors de l'ajout, HashSet supprime automatiquement les éléments en double en vérifiant si l'élément existe.
Traiter le HashSet uniquement avec des éléments uniques, un par un.
Afficher le résultat et éliminer l'objet.
Comprendre les HashSet en C# ;
HashSet en C# est conçu pour fournir des opérations ensemblistes très performantes. Un HashSet est la collection idéale à utiliser dans les situations où vous devez conserver un ensemble distinct de données, car il évite les éléments en double. Il est inclus dans les tables System.Assortments.Hash, à la base de l'espace de noms générique C#, et permet des opérations d'insertion et de suppression rapides, ainsi que des opérations de recherche et de récupération plus rapides. Nous pouvons également trouver le sous-ensemble approprié dans les éléments du HashSet. En C#, utilisez les méthodes d'opérations ensemblistes HashSet qui vous permettent d'effectuer facilement des opérations ensemblistes standard. La classe HashSet fournit des méthodes d'opérations sur les ensembles.
Voici quelques utilisations C# d'un HashSet :
Initialisation et opérations de base
Établissement d'un ensemble de hachage et exécution d'actions fondamentales telles que l'ajout, la suppression et la vérification de l'existence d'entrées.
// set operations
HashSet<int> numbers = new HashSet<int>();
// Add elements
numbers.Add(1);
numbers.Add(2);
numbers.Add(3);
// Remove an element, predicate function
numbers.Remove(2);
// Check for membership or duplicate element
bool containsThree = numbers.Contains(3);
// set operations
HashSet<int> numbers = new HashSet<int>();
// Add elements
numbers.Add(1);
numbers.Add(2);
numbers.Add(3);
// Remove an element, predicate function
numbers.Remove(2);
// Check for membership or duplicate element
bool containsThree = numbers.Contains(3);
' set operations
Dim numbers As New HashSet(Of Integer)()
' Add elements
numbers.Add(1)
numbers.Add(2)
numbers.Add(3)
' Remove an element, predicate function
numbers.Remove(2)
' Check for membership or duplicate element
Dim containsThree As Boolean = numbers.Contains(3)
Initialisation avec la collection
En utilisant une collection existante comme point de départ d'un HashSet, les doublons sont immédiatement éliminés.
List<int> duplicateNumbers = new List<int> { 1, 2, 2, 3, 3, 4 }; // all the elements
HashSet<int> uniqueNumbers = new HashSet<int>(duplicateNumbers);
List<int> duplicateNumbers = new List<int> { 1, 2, 2, 3, 3, 4 }; // all the elements
HashSet<int> uniqueNumbers = new HashSet<int>(duplicateNumbers);
Dim duplicateNumbers As New List(Of Integer) From {1, 2, 2, 3, 3, 4} ' all the elements
Dim uniqueNumbers As New HashSet(Of Integer)(duplicateNumbers)
Union avec un autre HashSet
Combinaison de deux instances de HashSet pour produire un nouvel ensemble qui combine des éléments distincts des deux ensembles à l'aide de la fonction UnionWith.
Dim set1 As New HashSet(Of Integer) From {1, 2, 3}
Dim set2 As New HashSet(Of Integer) From {3, 4, 5}
set1.UnionWith(set2) ' set1 now contains { 1, 2, 3, 4, 5 }
Intersection avec un autre HashSet
À l'aide de la fonction IntersectWith, déterminez les composants partagés entre deux instances de HashSet.
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.IntersectWith(set2); // set1 now contains { 3 }
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.IntersectWith(set2); // set1 now contains { 3 }
Dim set1 As New HashSet(Of Integer) From {1, 2, 3}
Dim set2 As New HashSet(Of Integer) From {3, 4, 5}
set1.IntersectWith(set2) ' set1 now contains { 3 }
Différence avec un autre HashSet
En utilisant la fonction ExceptWith, trouvez les éléments qui se trouvent dans un HashSet mais pas dans un autre.
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.ExceptWith(set2); // set1 now contains { 1, 2 }
HashSet<int> set1 = new HashSet<int> { 1, 2, 3 };
HashSet<int> set2 = new HashSet<int> { 3, 4, 5 };
set1.ExceptWith(set2); // set1 now contains { 1, 2 }
Dim set1 As New HashSet(Of Integer) From {1, 2, 3}
Dim set2 As New HashSet(Of Integer) From {3, 4, 5}
set1.ExceptWith(set2) ' set1 now contains { 1, 2 }
Checking for Subset or Superset: (Vérification du sous-ensemble ou du surensemble)
Les méthodes IsSubsetOf et IsSupersetOf permettent de déterminer si une instance de HashSet donnée est un sous-ensemble ou un surensemble d'une autre instance.
Dim set1 As New HashSet(Of Integer) From {1, 2, 3}
Dim set2 As New HashSet(Of Integer) From {2, 3}
Dim isSubset As Boolean = set2.IsSubsetOf(set1) ' returns true
Dim isSuperset As Boolean = set1.IsSupersetOf(set2) ' returns true
Différence symétrique
En utilisant la technique SymmetricExceptWith, déterminez la différence symétrique(éléments présents dans un ensemble, mais pas dans les deux).
Dim set1 As New HashSet(Of Integer) From {1, 2, 3}
Dim set2 As New HashSet(Of Integer) From {3, 4, 5}
set1.SymmetricExceptWith(set2) ' set1 now contains { 1, 2, 4, 5 }
IronPDF
Les programmeurs peuvent utiliser le langage C# pour produire, éditer et modifier des documents PDF à l'aide de la fonctionBibliothèque IronPDF for .NET. L'application offre un large éventail d'outils et de fonctionnalités permettant d'effectuer différentes opérations sur les fichiers PDF, notamment la création de nouveaux PDF à partir de HTML, la conversion de HTML en PDF, la combinaison ou la division de documents PDF et l'annotation de PDF existants avec du texte, des photos et d'autres données. Pour en savoir plus sur l'IronPDF, reportez-vous àla documentation officielle.
IronPDF excelle dans les domaines suivantsHTML vers PDFconversion, garantissant une préservation précise des mises en page et des styles originaux. C'est parfait pour créer des PDF à partir de contenus basés sur le web, tels que des rapports, des factures et de la documentation. Avec la prise en charge des fichiers HTML, des URL et des chaînes HTML brutes, IronPDF produit facilement des documents PDF de haute qualité.
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
Caractéristiques d'IronPDF
Conversion de HTML en PDF : Tout type de données HTML, y compris les fichiers, les URL et les chaînes de code HTML, peut être converti en documents PDF avec IronPDF.
Génération de PDF : Du texte, des images et d'autres objets peuvent être ajoutés par programmation aux documents PDF à l'aide du langage de programmation C#.
Manipulation de PDF : IronPDF peut diviser un fichier PDF en plusieurs fichiers et modifier des fichiers PDF préexistants. Il permet de fusionner plusieurs fichiers PDF en un seul fichier.
Formulaires PDF : Comme la bibliothèque permet aux utilisateurs de créer et de remplir des formulaires PDF, elle est utile dans les scénarios où les données des formulaires doivent être collectées et traitées.
Fonctionnalités de sécurité : IronPDF permet le cryptage des documents PDF ainsi que la sécurité des mots de passe et des autorisations.
Installer IronPDF
Acquérir la bibliothèque IronPDF ; le prochain correctif l'exige. Pour ce faire, entrez le code suivant dans le gestionnaire de paquets :
Une autre option consiste à rechercher le paquetage "IronPDF" à l'aide du gestionnaire de paquets NuGet. Parmi tous les paquets NuGet liés à IronPDF, nous pouvons sélectionner et télécharger le paquet requis dans cette liste.
HashSet avec IronPDF
Dans l'environnement C#, IronPDF est une bibliothèque puissante qui facilite le travail avec les documents PDF. Dans les situations où la représentation distincte des données et la création efficace de documents sont cruciales, la combinaison de l'efficacité de HashSet avec les pouvoirs de manipulation de documents d'IronPDF peut déboucher sur des solutions créatives.
Avantages de l'utilisation de HashSet avec IronPDF
Réduction de la redondance des données : En garantissant que seuls les éléments distincts sont conservés, les HashSets permettent d'éviter la duplication des données. Cette fonction est très utile lorsqu'il s'agit de supprimer des informations en double dans des ensembles de données volumineux.
Consultation efficace : Les opérations de base telles que l'insertion, la suppression et la consultation peuvent être effectuées avec une complexité moyenne en temps constant à l'aide de HashSet. Ce type de performance est très important lorsque l'on travaille avec des ensembles de données de tailles différentes.
Production simplifiée de documents : IronPDF rationalise le processus de création de documents PDF C#. Vous pouvez mettre en place des processus rapides et efficaces pour produire un contenu original et dynamique pour vos PDF en intégrant HashSet à IronPDF.
Examinons maintenant un scénario réel dans lequel l'utilisation de HashSet avec IronPDF pourrait être utile.
Générer un PDF avec des données uniques
using IronPdf;
using System;
using System.Collections.Generic;
using System.IO;
class PdfGenerator
{
static void Main()
{
// Sample user names
string [] userNames = { "Alice", "Bob", "Charlie", "Bob", "David", "Alice" };
// Using HashSet to store unique user names
HashSet<string> uniqueUserNames = new HashSet<string>(userNames);
// Generating PDF with unique user names
GeneratePdf(uniqueUserNames);
}
static void GeneratePdf(HashSet<string> uniqueUserNames)
{
// Create a new PDF document using IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf(BuildHtmlDocument(uniqueUserNames));
// Save the PDF to a file
string pdfFilePath = "UniqueUserNames.pdf";
pdf.SaveAs(pdfFilePath);
// Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
}
static string BuildHtmlDocument(HashSet<string> uniqueUserNames)
{
// Build an HTML document with unique user names
string htmlDocument = "<html><body><ul>";
foreach (var userName in uniqueUserNames)
{
htmlDocument += $"<li>{userName}</li>";
}
htmlDocument += "</ul></body></html>";
return htmlDocument;
}
}
using IronPdf;
using System;
using System.Collections.Generic;
using System.IO;
class PdfGenerator
{
static void Main()
{
// Sample user names
string [] userNames = { "Alice", "Bob", "Charlie", "Bob", "David", "Alice" };
// Using HashSet to store unique user names
HashSet<string> uniqueUserNames = new HashSet<string>(userNames);
// Generating PDF with unique user names
GeneratePdf(uniqueUserNames);
}
static void GeneratePdf(HashSet<string> uniqueUserNames)
{
// Create a new PDF document using IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf(BuildHtmlDocument(uniqueUserNames));
// Save the PDF to a file
string pdfFilePath = "UniqueUserNames.pdf";
pdf.SaveAs(pdfFilePath);
// Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
}
static string BuildHtmlDocument(HashSet<string> uniqueUserNames)
{
// Build an HTML document with unique user names
string htmlDocument = "<html><body><ul>";
foreach (var userName in uniqueUserNames)
{
htmlDocument += $"<li>{userName}</li>";
}
htmlDocument += "</ul></body></html>";
return htmlDocument;
}
}
Imports IronPdf
Imports System
Imports System.Collections.Generic
Imports System.IO
Friend Class PdfGenerator
Shared Sub Main()
' Sample user names
Dim userNames() As String = { "Alice", "Bob", "Charlie", "Bob", "David", "Alice" }
' Using HashSet to store unique user names
Dim uniqueUserNames As New HashSet(Of String)(userNames)
' Generating PDF with unique user names
GeneratePdf(uniqueUserNames)
End Sub
Private Shared Sub GeneratePdf(ByVal uniqueUserNames As HashSet(Of String))
' Create a new PDF document using IronPDF
Dim renderer As New IronPdf.HtmlToPdf()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(BuildHtmlDocument(uniqueUserNames))
' Save the PDF to a file
Dim pdfFilePath As String = "UniqueUserNames.pdf"
pdf.SaveAs(pdfFilePath)
' Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}")
End Sub
Private Shared Function BuildHtmlDocument(ByVal uniqueUserNames As HashSet(Of String)) As String
' Build an HTML document with unique user names
Dim htmlDocument As String = "<html><body><ul>"
For Each userName In uniqueUserNames
htmlDocument &= $"<li>{userName}</li>"
Next userName
htmlDocument &= "</ul></body></html>"
Return htmlDocument
End Function
End Class
Dans l'exemple de code ci-dessus, nous enregistrons les noms d'utilisateurs uniques extraits d'un tableau à l'aide d'un ensemble de hachage uniqueUserNames. Le HashSet élimine automatiquement les doublons. Ensuite, nous créons une liste non ordonnée de ces noms d'utilisateurs distincts dans un document PDF à l'aide d'IronPDF. Pour en savoir plus sur le code, consultezutiliser HTML pour créer un PDF.
SORTIE
Conclusion
En résumé, la structure de données C# HashSet est un outil efficace pour organiser des ensembles d'éléments distincts. Associé à IronPDF, il ouvre de nouvelles perspectives pour la création de documents PDF dynamiques, uniques et aux performances optimisées.
Nous avons montré comment utiliser HashSet pour garantir l'unicité des données tout en utilisantIronPDF pour créer des documents PDF dans l'exemple donné. La création d'applications C# solides et efficaces peut bénéficier de la combinaison de HashSet et d'IronPDF, que vous travailliez sur la déduplication des données, la création de rapports ou la gestion de contenu dynamique. Au fur et à mesure de vos recherches, tenez compte des nombreux contextes dans lesquels vous pourriez utiliser cette combinaison pour améliorer la convivialité et la fonctionnalité de vos applications.
La $749 version Lite d'IronPDF est livrée avec une licence permanente, des options de mise à niveau et un an d'assistance logicielle. Tout au long de lapériode d'essai pour les licences pour en savoir plus sur le prix, la licence et l'essai gratuit d'IronPDF. Visitez le siteSite web d'Iron Software pour de plus amples informations sur Iron Software.
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT C# Nomof (Comment ça marche pour les développeurs)
SUIVANT > Longueur des tableaux en C# (comment cela fonctionne pour les développeurs)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier