Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
La consulta integrada en lenguaje (LINQ), una potente característica del lenguaje en C#, permite a los programadores crear búsquedas claras y expresivas para una variedad de fuentes de datos. Esta publicación discutirá el uso de IronPDF, una versátil biblioteca C# para trabajar con documentos PDF, utilizando la función Distinct de LINQ. Mostraremos cómo esta combinación puede facilitar el proceso de creación de documentos únicos a partir de una colección. En este artículo, vamos a aprender sobre la función C# LINQ distinct con IronPDF.
Crea un nuevo proyecto de consola.
Importar el espacio de nombres System.Linq
.
Crear una lista con varios elementos.
Llama al método Distinct()
desde la lista.
Obtener los valores únicos y mostrar el resultado en la consola.
Los desarrolladores pueden crear consultas claras y expresivas para la manipulación de datos directamente en su código con la función LINQ (Language Integrated Query) de C#. LINQ, que se incluyó por primera vez en .NET Framework 3.5, ofrece una sintaxis estándar para consultar diversas fuentes de datos, como bases de datos y colecciones. LINQ facilita tareas sencillas como el filtrado y la proyección mediante operadores como Where y Select, lo que mejora la legibilidad del código. Dado que permite posponer la ejecución para conseguir una velocidad óptima, esta función es crucial para que los desarrolladores de C# se aseguren de que las operaciones de manipulación de datos se completan con rapidez y naturalidad de forma análoga a SQL.
Los elementos duplicados pueden eliminarse de una colección o secuencia utilizando la función Distinct de LINQ. En ausencia de un comparador de igualdad personalizado, compara los elementos utilizando su comparador por defecto. Esto lo convierte en una gran opción en situaciones en las que se necesita trabajar con una colección única y eliminar componentes duplicados. La técnica Distinct utiliza la comparación de igualdad por defecto para evaluar valores. Devolverá false para la propiedad particular que esté duplicada basándose en que mostrará elementos únicos.
Para obtener elementos distintos, lo más sencillo es utilizar el método Distinct directamente sobre una colección.
var distinctNumbers = numbers.Distinct();
var distinctNumbers = numbers.Distinct();
Dim distinctNumbers = numbers.Distinct()
Puede definir una comparación de igualdad personalizada utilizando una sobrecarga de la función Distinct. Esto es útil si desea comparar artículos según normas concretas. Consulte el siguiente ejemplo:
var distinctPeople = people.Distinct(new PersonEqualityComparer());
var distinctPeople = people.Distinct(new PersonEqualityComparer());
Dim distinctPeople = people.Distinct(New PersonEqualityComparer())
No es necesario proporcionar una comparación de igualdad personalizada cuando se utiliza el método Distinct con tipos de valor.
var distinctIntegers = integers.Distinct();
var distinctIntegers = integers.Distinct();
Dim distinctIntegers = integers.Distinct()
Distinct puede utilizarse con tipos anónimos para eliminar duplicados basándose en atributos concretos. Consulte el siguiente ejemplo:
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()
Cuando trabajas con objetos, puedes crear tu propia lógica para diferenciarlos por un cierto atributo, o puedes utilizar el método de extensión DistinctBy
de bibliotecas de terceros (como More LINQ).
var distinctPeople = people.DistinctBy(p => p.Id);
var distinctPeople = people.DistinctBy(p => p.Id);
Dim distinctPeople = people.DistinctBy(Function(p) p.Id)
Los programadores pueden crear, editar y modificar documentos PDF utilizando el lenguaje C# con la ayuda de la biblioteca .NET IronPDF Website. El programa ofrece una serie de herramientas y funcionalidades que permiten realizar diversas tareas relacionadas con archivos PDF, como generar PDF a partir de HTML, convertir HTML a PDF, fusionar o dividir documentos PDF y añadir texto, imágenes y anotaciones a PDF ya existentes. Para saber más sobre IronPDF, consulte su Documentación de IronPDF.
La característica principal de IronPDF es la Conversión de HTML a PDF, que mantiene sus diseños y estilos intactos. Puede generar archivos PDF a partir de contenidos web, perfectos para informes, facturas y documentación. Permite convertir archivos HTML, URL y cadenas HTML en archivos 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
Obtenga la biblioteca IronPDF; es necesario para el futuro parche. Para ello, introduzca el siguiente código en la consola del gestor de paquetes NuGet:
Install-Package IronPdf
Otra opción es utilizar el gestor de paquetes NuGet para buscar el paquete "IronPDF". Podemos elegir y descargar el paquete necesario de esta lista de todos los paquetes NuGet asociados con IronPDF.
Considere una situación en la que dispone de un conjunto de datos y desea crear varios documentos PDF en función de los distintos valores de dicho conjunto. Aquí es donde brilla la utilidad de Distinct de LINQ, sobre todo cuando se utiliza con IronPDF para crear documentos rápidamente.
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
En este ejemplo, se obtiene una serie de categorías distintas utilizando el método Distinct para la colección de categorías. Nos ayudará a eliminar elementos duplicados de una secuencia. A continuación, se utiliza IronPDF para crear un documento PDF con elementos únicos. Este método garantiza que se produzcan documentos PDF separados únicamente para categorías únicas.
Para saber más sobre el ejemplo de código de IronPDF para generar PDFs usando HTML, consulte el Código de Ejemplo de IronPDF de HTML a PDF.
El método de extensión Distinct de LINQ junto con IronPDF ofrece un mecanismo sólido y eficaz para crear documentos PDF únicos basados en valores. Este método agiliza el código y garantiza la producción eficaz de documentos, tanto si trabaja con categorías, etiquetas o cualquier otro dato que requiera documentos independientes.
Puede desarrollar una solución fiable y expresiva para gestionar diferentes aspectos de sus aplicaciones C# utilizando LINQ para el procesamiento de datos e IronPDF para la producción de documentos. Cuando utilice estas estrategias en sus proyectos, tenga en cuenta las necesidades particulares de su aplicación y ajuste la implementación para lograr la máxima fiabilidad y rendimiento.