Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Sprachintegrierte Abfrage (LINQ), eine leistungsstarke Sprachfunktion in C#, ermöglicht es Programmierern, klare, aussagekräftige Suchen für eine Vielzahl von Datenquellen zu erstellen. In diesem Beitrag wird die Verwendung von IronPDF, eine flexible C#-Bibliothek für die Arbeit mit PDF-Dokumenten, die LINQ ist unverwechselbar funktion. Wir werden zeigen, wie diese Kombination den Prozess der Erstellung einzigartiger Papiere aus einer Sammlung erleichtern kann. In diesem Artikel werden wir die C# LINQ distinct-Funktion mit IronPDF kennenlernen.
Erstellen Sie ein neues Konsolenprojekt.
Namespace "System.Linq" importieren.
Erstellen Sie eine Liste mit mehreren Einträgen.
Aufruf der Methode Distinct()
von der Liste.
Ermittelt die eindeutigen Werte und zeigt das Ergebnis auf der Konsole an.
Entwickler können mit LINQ von C# klare und aussagekräftige Abfragen zur Datenbearbeitung direkt in ihrem Code erstellen (Sprache Integrierte Abfrage) funktion. LINQ, das erstmals in das .NET-Framework 3.5 aufgenommen wurde, bietet eine Standardsyntax für die Abfrage einer Reihe von Datenquellen, einschließlich Datenbanken und Sammlungen. LINQ erleichtert einfache Aufgaben wie Filterung und Projektion durch Operatoren wie Where und Select, was die Lesbarkeit des Codes verbessert. Diese Funktion ist für C#-Entwickler von entscheidender Bedeutung, da sie eine verzögerte Ausführung für optimale Geschwindigkeit ermöglicht, um sicherzustellen, dass Datenmanipulationsoperationen analog zu SQL schnell und natürlich abgeschlossen werden.
Doppelte Elemente können mit der Funktion Distinct von LINQ aus einer Sammlung oder Sequenz entfernt werden. Wenn kein benutzerdefinierter Gleichheitsvergleicher vorhanden ist, werden die Elemente mit ihrem Standardvergleicher verglichen. Dies macht es zu einer großartigen Option in Situationen, in denen Sie mit einer einzigartigen Sammlung arbeiten und doppelte Komponenten entfernen müssen. Die Distinct-Technik verwendet den Standard-Gleichheitsvergleich zur Bewertung von Werten. Es wird false für die bestimmte Eigenschaft zurückgeben, die dupliziert ist, auf der Grundlage, dass es einzigartige Elemente anzeigen wird.
Am einfachsten ist es, die Methode Distinct direkt auf eine Sammlung anzuwenden, um unterschiedliche Elemente zu erhalten.
var distinctNumbers = numbers.Distinct();
var distinctNumbers = numbers.Distinct();
Dim distinctNumbers = numbers.Distinct()
Sie können einen eigenen Gleichheitsvergleich definieren, indem Sie eine Überladung der Funktion Distinct verwenden. Dies ist hilfreich, wenn Sie Artikel nach bestimmten Normen vergleichen möchten. Bitte sehen Sie sich das folgende Beispiel an:
var distinctPeople = people.Distinct(new PersonEqualityComparer());
var distinctPeople = people.Distinct(new PersonEqualityComparer());
Dim distinctPeople = people.Distinct(New PersonEqualityComparer())
Sie müssen keinen benutzerdefinierten Gleichheitsvergleich durchführen, wenn Sie die Methode Distinct mit Werttypen verwenden.
var distinctIntegers = integers.Distinct();
var distinctIntegers = integers.Distinct();
Dim distinctIntegers = integers.Distinct()
Distinct kann mit anonymen Typen verwendet werden, um Duplikate auf der Grundlage bestimmter Attribute zu entfernen. Bitte beachten Sie das folgende Beispiel:
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()
Wenn Sie mit Objekten arbeiten, können Sie entweder Ihre eigene Logik für die Unterscheidung nach einem bestimmten Attribut erstellen, oder Sie können die Erweiterungsmethode DistinctBy
aus Bibliotheken von Drittanbietern verwenden (wie Mehr LINQ).
var distinctPeople = people.DistinctBy(p => p.Id);
var distinctPeople = people.DistinctBy(p => p.Id);
Dim distinctPeople = people.DistinctBy(Function(p) p.Id)
Programmierer können mit Hilfe der C#-Sprache und der .NET-Bibliothek PDF-Dokumente erstellen, bearbeiten und verändern IronPDF. Das Programm bietet eine Reihe von Werkzeugen und Funktionen für verschiedene Aufgaben im Zusammenhang mit PDF-Dateien, z. B. die Erstellung von PDFs aus HTML, die Konvertierung von HTML in PDF, das Zusammenführen oder Teilen von PDF-Dokumenten und das Hinzufügen von Text, Bildern und Anmerkungen zu bereits vorhandenen PDFs. Wenn Sie mehr über IronPDF erfahren möchten, lesen Sie bitte deren dokumentationsseite.
Die Hauptmerkmale von IronPDF sind HTML zu PDF, wodurch Ihre Layouts und Stile intakt bleiben. Sie können PDF-Dateien aus Webinhalten generieren, die sich perfekt für Berichte, Rechnungen und Dokumentationen eignen. Es unterstützt die Umwandlung von HTML-Dateien, URLs und HTML-Strings in PDF-Dateien.
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
Holen Sie sich die IronPDF-Bibliothek; er wird für den künftigen Patch benötigt. Geben Sie den folgenden Code in die NuGet Package Manager Console ein, um dies zu erreichen:
Install-Package IronPdf
Eine weitere Möglichkeit besteht darin, mit dem NuGet Package Manager nach dem Paket "IronPDF" zu suchen. Aus dieser Liste können wir das benötigte Paket aus allen mit IronPDF verbundenen NuGet-Paketen auswählen und herunterladen.
Stellen Sie sich eine Situation vor, in der Sie eine Reihe von Daten haben und verschiedene PDF-Dokumente entsprechend den verschiedenen Werten in dieser Reihe erstellen möchten. Hier zeigt sich die Nützlichkeit von LINQ's Distinct, insbesondere bei der Verwendung mit IronPDF zur schnellen Erstellung von Dokumenten.
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
In diesem Beispiel wird eine Reihe von unterschiedlichen Kategorien durch die Verwendung der Methode Distinct für die Kategoriensammlung erhalten. Sie hilft uns, doppelte Elemente aus einer Sequenz zu entfernen. Anschließend wird IronPDF verwendet, um ein PDF-Dokument mit eindeutigen Elementen zu erstellen. Diese Methode gewährleistet, dass nur für eindeutige Kategorien separate PDF-Dokumente erstellt werden.
Weitere Informationen über das IronPDF-Codebeispiel für die Erzeugung von PDFs mit HTML finden Sie unter hier.
Die LINQ-Erweiterungsmethode Distinct bietet in Verbindung mit IronPDF einen robusten und effizienten Mechanismus zur Erstellung eindeutiger PDF-Dokumente auf der Grundlage von Werten. Diese Methode rationalisiert den Code und garantiert eine effektive Dokumentenerstellung, egal ob Sie mit Kategorien, Tags oder anderen Daten arbeiten, für die separate Dokumente benötigt werden.
Sie können eine zuverlässige und aussagekräftige Lösung für die Verwaltung verschiedener Aspekte Ihrer C#-Anwendungen entwickeln, indem Sie LINQ für die Datenverarbeitung und IronPDF für die Dokumentenerstellung verwenden. Wenn Sie diese Strategien für Ihre Projekte verwenden, sollten Sie die besonderen Anforderungen Ihrer Anwendung im Auge behalten und die Implementierung so anpassen, dass ein Maximum an Zuverlässigkeit und Leistung erreicht wird.
9 .NET API-Produkte für Ihre Bürodokumente