Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Consulta integrada en el idioma (LINQ), una potente función del lenguaje C#, permite a los programadores crear búsquedas claras y expresivas para una gran variedad de fuentes de datos. En este artículo se analiza el uso de IronPDF una biblioteca C# flexible para trabajar con documentos PDF, utilizando LINQ se distingue función. 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.
System.Linq
.Distinto()
de la Lista.Los desarrolladores pueden crear consultas claras y expresivas para la manipulación de datos directamente en su código con LINQ de C#. (Idioma Consulta integrada) característica. 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 trabaje con objetos, puede crear su propia lógica para distinguir por un atributo determinado, o puede utilizar el método de extensión DistinctBy
de bibliotecas de terceros (como Más 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 ayuda de la biblioteca .NET IronPDF. 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 página de documentación.
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()
{
// Muestra de datos que representan categorías
List<string> categories = new List<string>
{
"Technology",
"Business",
"Health",
"Technology",
"Science",
"Business",
"Health"
};
// Utilice LINQ Distinct para filtrar los valores duplicados
// sintaxis de consulta distintiva
var distinctCategories = categories.Distinct();
// Generar un documento PDF con elementos distintos para cada categoría
foreach (var category in distinctCategories)
{
GeneratePdfDocument(category);
}
}
private static void GeneratePdfDocument(string category)
{
// Crear un nuevo documento PDF con IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>");
// Guardar el PDF en un archivo
string pdfFilePath = $"{category}_Report.pdf";
pdf.SaveAs(pdfFilePath);
// Mostrar un mensaje con la ruta del archivo
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()
{
// Muestra de datos que representan categorías
List<string> categories = new List<string>
{
"Technology",
"Business",
"Health",
"Technology",
"Science",
"Business",
"Health"
};
// Utilice LINQ Distinct para filtrar los valores duplicados
// sintaxis de consulta distintiva
var distinctCategories = categories.Distinct();
// Generar un documento PDF con elementos distintos para cada categoría
foreach (var category in distinctCategories)
{
GeneratePdfDocument(category);
}
}
private static void GeneratePdfDocument(string category)
{
// Crear un nuevo documento PDF con IronPDF
IronPdf.HtmlToPdf renderer = new IronPdf.HtmlToPdf();
PdfDocument pdf = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>");
// Guardar el PDF en un archivo
string pdfFilePath = $"{category}_Report.pdf";
pdf.SaveAs(pdfFilePath);
// Mostrar un mensaje con la ruta del archivo
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()
' Muestra de datos que representan categorías
Dim categories As New List(Of String) From {"Technology", "Business", "Health", "Technology", "Science", "Business", "Health"}
' Utilice LINQ Distinct para filtrar los valores duplicados
' sintaxis de consulta distintiva
Dim distinctCategories = categories.Distinct()
' Generar un documento PDF con elementos distintos para cada categoría
For Each category In distinctCategories
GeneratePdfDocument(category)
Next category
End Sub
Private Shared Sub GeneratePdfDocument(ByVal category As String)
' Crear un nuevo documento PDF con IronPDF
Dim renderer As New IronPdf.HtmlToPdf()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf($"<h1>{category} Report</h1>")
' Guardar el PDF en un archivo
Dim pdfFilePath As String = $"{category}_Report.pdf"
pdf.SaveAs(pdfFilePath)
' Mostrar un mensaje con la ruta del archivo
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 PDF utilizando HTML, consulte aquí.
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.
9 productos API .NET para sus documentos de oficina