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)
Chaknith Bin
février 18, 2024
Partager:
Introduction
La requête intégrée au langage (LINQ), une fonctionnalité puissante de C#, permet aux programmeurs de créer des recherches claires et expressives pour une variété de sources de données. Ce post discutera de l'utilisation d'IronPDF, une bibliothèque C# polyvalente pour travailler avec des documents PDF, en utilisant la fonction Distinct de LINQ. 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 Distinct de 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.
Appelez la méthode Distinct() depuis 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 créer des requêtes claires et expressives pour la manipulation de données directement dans leur code grâce à la fonctionnalité LINQ (Language Integrated Query) de C#. 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 pour distinguer par un certain attribut, soit utiliser la méthode d'extension DistinctBy à partir de bibliothèques tierces (comme More 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# avec l'aide de la bibliothèque .NET IronPDF Website. 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 consulter leur Documentation IronPDF.
La principale fonctionnalité d'IronPDF est la conversion HTML en PDF, qui préserve vos mises en page et vos styles intacts. 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.
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.
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# 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