Créez un PDF avec LINQ Distinct. Voyez les résultats en action !
using System;
using System.Collections.Generic;
using System.Linq;
using IronPdf;
class Program
{
static void Main()
{
// Sample data with duplicates
List<string> names = new List<string>
{
"Alice",
"Bob",
"Alice",
"Charlie",
"Bob",
"Eve"
};
// Using LINQ to get distinct names
var distinctNames = names.Distinct();
// Create a new IronPdf.HtmlToPdf Renderer
var Renderer = new ChromePdfRenderer();
// Build the HTML content with distinct names
string htmlContent = "<h1>Unique Names List</h1><ul>";
foreach (var name in distinctNames)
{
htmlContent += $"<li>{name}</li>";
}
htmlContent += "</ul>";
// Render the HTML to a PDF file
var pdfDocument = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF to a file
string outputPath = "UniqueNamesList.pdf";
pdfDocument.SaveAs(outputPath);
Console.WriteLine($"PDF created successfully at {outputPath}");
}
}
C# LINQ Distinct (Comment ça marche pour les développeurs)
Regan Pun
février 18, 2024
Partager:
Introduction
Requête intégrée à la langue(LINQ)une fonctionnalité puissante du langage C#, permet aux programmeurs de créer des recherches claires et expressives pour une variété de sources de données. Ce billet traite de l'utilisation deIronPDFla traduction doit rester professionnelle, en préservant la précision technique tout en expliquant les caractéristiques et les avantages de ces outils de développementLa spécificité de LINQ fonction. Nous montrerons comment cette combinaison peut faciliter le processus de création de documents uniques à partir d'une collection. Dans cet article, nous allons découvrir la fonction distincte LINQ en C# avec IronPDF.
Comment utiliser la méthode distincte LINQ en C
Créez un nouveau projet de console.
Importer l'espace de noms System.Linq.
Créer une liste avec plusieurs éléments.
Appeler la méthode Distinct() de la liste.
Obtenir les valeurs uniques et afficher le résultat sur la console.
Disposer de tous les objets créés.
Qu'est-ce que LINQ ?
Les développeurs peuvent élaborer des requêtes claires et expressives pour la manipulation des données directement dans leur code grâce à la fonction LINQ de C#(Langue Requête intégrée) caractéristiques. LINQ, qui a été inclus pour la première fois dans le .NET Framework 3.5, offre une syntaxe standard pour interroger une gamme de sources de données, y compris les bases de données et les collections. LINQ facilite les tâches simples telles que le filtrage et la projection en utilisant des opérateurs tels que Where et Select, ce qui améliore la lisibilité du code. Parce qu'elle permet de différer l'exécution pour une vitesse optimale, cette fonctionnalité est cruciale pour les développeurs C# afin de s'assurer que les opérations de manipulation de données sont effectuées rapidement et naturellement d'une manière analogue à SQL.
Comprendre LINQ Distinct
Les éléments en double peuvent être supprimés d'une collection ou d'une séquence à l'aide de la fonction Distinct de LINQ. En l'absence de comparateur d'égalité personnalisé, il compare les éléments à l'aide de leur comparateur par défaut. Il s'agit donc d'une excellente option dans les situations où vous devez travailler avec une collection unique et supprimer les composants en double. La technique Distinct utilise la comparaison d'égalité par défaut pour évaluer les valeurs. Il renverra false pour la propriété particulière qui est dupliquée, en fonction de quoi il affichera des éléments uniques.
Utilisation de base
Pour obtenir des éléments distincts, le plus simple est d'utiliser la méthode Distinct directement sur une collection.
var distinctNumbers = numbers.Distinct();
var distinctNumbers = numbers.Distinct();
Dim distinctNumbers = numbers.Distinct()
$vbLabelText $csharpLabel
Comparateur d'égalité personnalisé
Vous pouvez définir une comparaison d'égalité personnalisée en utilisant une surcharge de la fonction Distinct. Cette fonction est utile si vous souhaitez comparer des articles selon des normes particulières. Veuillez vous référer à l'exemple suivant :
var distinctPeople = people.Distinct(new PersonEqualityComparer());
var distinctPeople = people.Distinct(new PersonEqualityComparer());
Dim distinctPeople = people.Distinct(New PersonEqualityComparer())
$vbLabelText $csharpLabel
Utilisation de la distinction avec les types de valeurs
Il n'est pas nécessaire de fournir une comparaison d'égalité personnalisée lorsque vous utilisez la méthode Distinct avec des types de valeurs.
var distinctIntegers = integers.Distinct();
var distinctIntegers = integers.Distinct();
Dim distinctIntegers = integers.Distinct()
$vbLabelText $csharpLabel
Utilisation de la distinction avec les types anonymes
Distinct peut être utilisé avec des types anonymes pour supprimer les doublons sur la base d'attributs particuliers. Veuillez vous référer à l'exemple suivant :
var distinctPeople = people
.Select(p => new { p.FirstName, p.LastName })
.Distinct();
var distinctPeople = people
.Select(p => new { p.FirstName, p.LastName })
.Distinct();
Dim distinctPeople = people.Select(Function(p) New With {
Key p.FirstName,
Key p.LastName
}).Distinct()
$vbLabelText $csharpLabel
Distinction par une propriété spécifique
Lorsque vous travaillez avec des objets, vous pouvez soit créer votre propre logique de distinction par un certain attribut, soit utiliser la méthode d'extension DistinctBy des bibliothèques tierces(comme Plus de LINQ).
var distinctPeople = people.DistinctBy(p => p.Id);
var distinctPeople = people.DistinctBy(p => p.Id);
Dim distinctPeople = people.DistinctBy(Function(p) p.Id)
$vbLabelText $csharpLabel
IronPDF
Les programmeurs peuvent créer, éditer et modifier des documents PDF en utilisant le langage C# à l'aide de la bibliothèque .NETSite web d'IronPDF. Le programme fournit une gamme d'outils et de fonctionnalités permettant d'effectuer diverses tâches impliquant des fichiers PDF, telles que la génération de PDF à partir de HTML, la conversion de HTML en PDF, la fusion ou la division de documents PDF, et l'ajout de texte, d'images et d'annotations à des PDF déjà existants. Pour en savoir plus sur IronPDF, veuillez vous référer à son site webDocumentation IronPDF.
La principale caractéristique d'IronPDF est la suivante**Conversion de HTML en PDFce qui permet de conserver intactes vos mises en page et vos styles. Vous pouvez générer des PDF à partir de contenus web, ce qui est idéal pour les rapports, les factures et la documentation. Il permet de convertir des fichiers HTML, des URL et des chaînes HTML en fichiers 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");
}
}
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
$vbLabelText $csharpLabel
Caractéristiques d'IronPDF
Convertir HTML en PDF : Vous pouvez utiliser IronPDF pour convertir n'importe quel type de données HTML - y compris des fichiers, des URL et des chaînes de code HTML - en documents PDF.
Génération de PDF : Du texte, des images et d'autres éléments 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, fusionner plusieurs documents PDF en un seul fichier et modifier des PDF déjà existants.
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.
Caractéristiques de sécurité : IronPDF peut être utilisé pour crypter les documents PDF et fournir une protection par mot de passe et par autorisation.
Extraction de texte : Le texte des fichiers PDF peut être extrait à l'aide d'IronPDF.
Installer IronPDF
Obtenir la bibliothèque IronPDF ; c'est nécessaire pour le futur patch. Pour ce faire, saisissez le code suivant dans la console du gestionnaire de paquets NuGet :
Install-Package IronPdf
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.
LINQ avec IronPDF
Considérons une situation dans laquelle vous disposez d'un ensemble de données et vous souhaitez créer plusieurs documents PDF en fonction des différentes valeurs de cet ensemble. C'est là que l'utilité de LINQ's Distinct brille, en particulier lorsqu'il est utilisé avec IronPDF pour créer des documents rapidement.
Générer des PDF distincts avec LINQ et IronPDF
using IronPdf;
using System;
using System.Collections.Generic;
using System.Linq;
public class DocumentGenerator
{
public string result {get;set;}
public int id {get;set;}
public static void Main()
{
// Sample data representing categories
List<string> categories = new List<string>
{
"Technology",
"Business",
"Health",
"Technology",
"Science",
"Business",
"Health"
};
// Use LINQ Distinct to filter out duplicate values
// distinct query syntax
var distinctCategories = categories.Distinct();
// Generate a distinct elements PDF document for each category
foreach (var category in distinctCategories)
{
GeneratePdfDocument(category);
}
}
private static void GeneratePdfDocument(string category)
{
// Create a new PDF document using IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>");
// Save the PDF to a file
string pdfFilePath = $"{category}_Report.pdf";
pdf.SaveAs(pdfFilePath);
// Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
}
}
using IronPdf;
using System;
using System.Collections.Generic;
using System.Linq;
public class DocumentGenerator
{
public string result {get;set;}
public int id {get;set;}
public static void Main()
{
// Sample data representing categories
List<string> categories = new List<string>
{
"Technology",
"Business",
"Health",
"Technology",
"Science",
"Business",
"Health"
};
// Use LINQ Distinct to filter out duplicate values
// distinct query syntax
var distinctCategories = categories.Distinct();
// Generate a distinct elements PDF document for each category
foreach (var category in distinctCategories)
{
GeneratePdfDocument(category);
}
}
private static void GeneratePdfDocument(string category)
{
// Create a new PDF document using IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>");
// Save the PDF to a file
string pdfFilePath = $"{category}_Report.pdf";
pdf.SaveAs(pdfFilePath);
// Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}");
}
}
Imports IronPdf
Imports System
Imports System.Collections.Generic
Imports System.Linq
Public Class DocumentGenerator
Public Property result() As String
Public Property id() As Integer
Public Shared Sub Main()
' Sample data representing categories
Dim categories As New List(Of String) From {"Technology", "Business", "Health", "Technology", "Science", "Business", "Health"}
' Use LINQ Distinct to filter out duplicate values
' distinct query syntax
Dim distinctCategories = categories.Distinct()
' Generate a distinct elements PDF document for each category
For Each category In distinctCategories
GeneratePdfDocument(category)
Next category
End Sub
Private Shared Sub GeneratePdfDocument(ByVal category As String)
' Create a new PDF document using IronPDF
Dim renderer As New IronPdf.HtmlToPdf()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>")
' Save the PDF to a file
Dim pdfFilePath As String = $"{category}_Report.pdf"
pdf.SaveAs(pdfFilePath)
' Display a message with the file path
Console.WriteLine($"PDF generated successfully. File saved at: {pdfFilePath}")
End Sub
End Class
$vbLabelText $csharpLabel
Dans cet exemple, une série de catégories distinctes est obtenue en utilisant la méthode Distinct pour la collection de catégories. Il nous aidera à supprimer les éléments dupliqués d'une séquence. Ensuite, IronPDF est utilisé pour créer un document PDF avec des éléments uniques. Cette méthode garantit que des documents PDF distincts sont produits uniquement pour des catégories uniques.
Console OUTPUT
PDF généré
Pour en savoir plus sur l'exemple de code IronPDF permettant de générer des PDF à l'aide de HTML, reportez-vous à la page suivanteCode d'exemple IronPDF HTML à PDF.
Conclusion
La méthode d'extension Distinct de LINQ associée à IronPDF offre un mécanisme robuste et efficace pour créer des documents PDF uniques basés sur des valeurs. Cette méthode rationalise le code et garantit une production efficace de documents, que vous travailliez avec des catégories, des étiquettes ou toute autre donnée nécessitant des documents distincts.
Vous pouvez développer une solution fiable et expressive pour gérer les différents aspects de vos applications C# en utilisant LINQ pour le traitement des données et IronPDF pour la production de documents. Lorsque vous utilisez ces stratégies pour vos projets, gardez à l'esprit les besoins particuliers de votre application et ajustez la mise en œuvre pour obtenir une fiabilité et des performances maximales.
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT C# interne (Comment ça marche pour les développeurs)
SUIVANT > File d'attente prioritaire en C# (Comment ça marche 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