Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
C# se ha convertido en una opción popular y adaptable para los desarrolladores entre los muchos lenguajes de programación disponibles. La idea de las colecciones es el núcleo de la amplia biblioteca y los marcos de trabajo de C#, que constituyen una de las principales ventajas del lenguaje. En C#, una colección es esencial para almacenar y organizar datos de forma eficaz. Ofrecen a los desarrolladores una amplia gama de herramientas eficaces para resolver problemas de programación complejos. En esta entrada profundizaremos en las colecciones, cubriendo sus características, tipos y estrategias de uso óptimas.
Cree un nuevo proyecto de aplicación de consola.
Crear un objeto para la colección en C#.
Añade los valores a la clase collection, puede almacenar múltiples conjuntos de objetos
Procesar las operaciones de valor como añadir, eliminar, ordenar, etc,
Las colecciones, en C#, son contenedores que permiten a los programadores trabajar y almacenar conjuntos de clases de objetos. Estos objetos son flexibles y adaptables a muchos entornos de programación, y pueden ser del mismo tipo o de tipos distintos. La mayoría de las clases de colección implementan componentes del Sistema en C#, esto significa importar espacios de nombres como System.Collections y System.Collections.Generic que ofrece varias clases de colección que son tanto genéricas como no genéricas. Las colecciones también permiten asignar memoria dinámica, añadir, buscar y ordenar los elementos de las clases de colecciones.
ArrayList, Hashtable y Queue son algunas de las clases de colección no genéricas disponibles en C# que se incluyeron en las primeras iteraciones del lenguaje. Estas colecciones ofrecen una alternativa a la definición explícita del tipo de cosas que desea conservar y con las que desea trabajar. Sin embargo, los desarrolladores suelen elegir colecciones genéricas por su mayor rendimiento y seguridad de tipos.
Las iteraciones posteriores de C# incluyeron colecciones genéricas para superar los inconvenientes de las colecciones no genéricas. Proporcionan seguridad tipográfica durante la compilación y permiten a los desarrolladores trabajar con datos estrechamente tipados. Las clases genéricas de colección Lista
Una matriz dinámica que facilita la inserción y extracción rápida y sencilla de elementos es la Lista
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Add(6); // adds element '6' to the end
numbers.Remove(3); // removes all the items that are '3'
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.Add(6); // adds element '6' to the end
numbers.Remove(3); // removes all the items that are '3'
Dim numbers As New List(Of Integer) From {1, 2, 3, 4, 5}
numbers.Add(6) ' adds element '6' to the end
numbers.Remove(3) ' removes all the items that are '3'
Con velocidades de búsqueda rápidas, una colección de pares clave-valor se representa mediante la clase Dictionary<TKey, TValue>. Se emplea con frecuencia en situaciones en las que es crucial disponer de un acceso rápido a los datos a través de un valor clave especial. Esta clave se utiliza para acceder a los elementos del diccionario.
Dictionary<string, int> ageMap = new Dictionary<string, int>();
ageMap.Add("John", 25); // the string "John" is the key, that can access the value 25
ageMap ["Jane"] = 30; // setting the key "Jane" to hold the value 30
Dictionary<string, int> ageMap = new Dictionary<string, int>();
ageMap.Add("John", 25); // the string "John" is the key, that can access the value 25
ageMap ["Jane"] = 30; // setting the key "Jane" to hold the value 30
Dim ageMap As New Dictionary(Of String, Integer)()
ageMap.Add("John", 25) ' the string "John" is the key, that can access the value 25
ageMap ("Jane") = 30 ' setting the key "Jane" to hold the value 30
El primero en entrar, primero en salir (FIFO)y último en entrar, primero en salir (LIFO) se implementan, respectivamente, mediante el sistema genérico Queue
Queue<string> tasks = new Queue<string>(); // creating a queue class
tasks.Enqueue("Task 1"); // adding to the queue
tasks.Enqueue("Task 2");
Stack<double> numbers = new Stack<double>(); // creating a stack class
numbers.Push(3.14); // adding to the stack
numbers.Push(2.71);
Queue<string> tasks = new Queue<string>(); // creating a queue class
tasks.Enqueue("Task 1"); // adding to the queue
tasks.Enqueue("Task 2");
Stack<double> numbers = new Stack<double>(); // creating a stack class
numbers.Push(3.14); // adding to the stack
numbers.Push(2.71);
Dim tasks As New Queue(Of String)() ' creating a queue class
tasks.Enqueue("Task 1") ' adding to the queue
tasks.Enqueue("Task 2")
Dim numbers As New Stack(Of Double)() ' creating a stack class
numbers.Push(3.14) ' adding to the stack
numbers.Push(2.71)
Los elementos únicos dispuestos en una colección desordenada se representan mediante el HashSet
HashSet<int> setA = new HashSet<int> { 1, 2, 3, 4 };
HashSet<int> setB = new HashSet<int> { 3, 4, 5, 6 };
HashSet<int> unionSet = new HashSet<int>(setA);
unionSet.UnionWith(setB); // combining setA and setB
HashSet<int> setA = new HashSet<int> { 1, 2, 3, 4 };
HashSet<int> setB = new HashSet<int> { 3, 4, 5, 6 };
HashSet<int> unionSet = new HashSet<int>(setA);
unionSet.UnionWith(setB); // combining setA and setB
Dim setA As New HashSet(Of Integer) From {1, 2, 3, 4}
Dim setB As New HashSet(Of Integer) From {3, 4, 5, 6}
Dim unionSet As New HashSet(Of Integer)(setA)
unionSet.UnionWith(setB) ' combining setA and setB
Una biblioteca de C# llamada IronPDF facilita la creación, edición y visualización de documentos PDF en aplicaciones .NET. Ofrece muchas opciones de licencia, compatibilidad multiplataforma, renderizado de alta calidad y conversión de HTML a PDF. La sencilla API de IronPDF facilita el manejo de archivos PDF, lo que la convierte en una herramienta útil para los desarrolladores de C#.
La característica más destacada de IronPDF es su De HTML a PDF manteniendo todos los diseños y estilos. Genera archivos PDF a partir de contenido web, por lo que es perfecto para informes, facturas y documentación. Los archivos HTML, las URL y las cadenas HTML se pueden convertir en PDF sin esfuerzo.
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
Entre las principales características de IronPDF se incluyen:
Convertir HTML a PDF: Con IronPDF, los programadores pueden crear documentos PDF a partir de texto HTML, incluidos CSS y JavaScript. A quienes ya estén familiarizados con las herramientas de desarrollo web y deseen utilizar HTML y CSS para crear PDF les resultará muy útil.
Generación y manipulación de PDF: La biblioteca ofrece la posibilidad de crear documentos PDF desde cero mediante programación. Además, facilita la edición de PDF preexistentes, permitiendo operaciones como la extracción de texto, la adición de marcas de agua, la división de PDF, etc.
Renderizado superior: IronPDF utiliza un motor de renderizado para generar resultados PDF del más alto calibre, garantizando que los documentos finales conserven la claridad y la integridad visual.
Compatibilidad entre plataformas: IronPDF puede utilizarse en diversas aplicaciones y plataformas porque está diseñado para funcionar tanto con .NET Core como con .NET Framework.
Optimización del rendimiento: Incluso cuando se trabaja con documentos PDF grandes o complicados, la biblioteca está diseñada para ofrecer una producción y renderización de PDF eficientes.
Para saber más sobre la documentación de IronPDF, consulte aquí.
Instale primero la biblioteca IronPDF utilizando la consola del gestor de paquetes o el 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.
Comprender el papel que desempeñan las colecciones en las estructuras y organización de datos es crucial antes de adentrarnos en la interfaz con IronPDF. Los desarrolladores pueden almacenar, recuperar y modificar agrupaciones de cosas de forma organizada mediante el uso de colecciones. Con tantos tipos diferentes disponibles, como la Lista
Imagine que tiene que crear un informe con una lista de operaciones de venta. Los datos pueden organizarse eficazmente utilizando una Lista
public class Transaction
{
public string ProductName { get; set; }
public decimal Amount { get; set; }
public DateTime Date { get; set; }
}
List<Transaction> transactions = new List<Transaction>
{
new Transaction { ProductName = "Product A", Amount = 100.50m, Date = DateTime.Now.AddDays(-2) },
new Transaction { ProductName = "Product B", Amount = 75.20m, Date = DateTime.Now.AddDays(-1) },
// Add more transactions as needed
};
public class Transaction
{
public string ProductName { get; set; }
public decimal Amount { get; set; }
public DateTime Date { get; set; }
}
List<Transaction> transactions = new List<Transaction>
{
new Transaction { ProductName = "Product A", Amount = 100.50m, Date = DateTime.Now.AddDays(-2) },
new Transaction { ProductName = "Product B", Amount = 75.20m, Date = DateTime.Now.AddDays(-1) },
// Add more transactions as needed
};
Public Class Transaction
Public Property ProductName() As String
Public Property Amount() As Decimal
Public Property [Date]() As DateTime
End Class
Private transactions As New List(Of Transaction) From {
New Transaction With {
.ProductName = "Product A",
.Amount = 100.50D,
.Date = DateTime.Now.AddDays(-2)
},
New Transaction With {
.ProductName = "Product B",
.Amount = 75.20D,
.Date = DateTime.Now.AddDays(-1)
}
}
En el PDF, haremos una tabla sencilla que enumere el nombre del producto, el importe de la transacción y la fecha de cada uno.
var pdfDocument = new IronPdf.HtmlToPdf();
// HTML content with a table populated by data from the 'transactions' list
string htmlContent = "<table><tr><th>Product Name</th><th>Amount</th><th>Date</th></tr>";
foreach (var transaction in transactions)
{
htmlContent += $"<tr><td>{transaction.ProductName}</td><td>{transaction.Amount}</td><td>{transaction.Date.ToShortDateString()}</td></tr>";
}
htmlContent += "</table>";
// Convert HTML to PDF
PdfDocument pdf = pdfDocument.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs(pdfFilePath);
var pdfDocument = new IronPdf.HtmlToPdf();
// HTML content with a table populated by data from the 'transactions' list
string htmlContent = "<table><tr><th>Product Name</th><th>Amount</th><th>Date</th></tr>";
foreach (var transaction in transactions)
{
htmlContent += $"<tr><td>{transaction.ProductName}</td><td>{transaction.Amount}</td><td>{transaction.Date.ToShortDateString()}</td></tr>";
}
htmlContent += "</table>";
// Convert HTML to PDF
PdfDocument pdf = pdfDocument.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs(pdfFilePath);
Dim pdfDocument = New IronPdf.HtmlToPdf()
' HTML content with a table populated by data from the 'transactions' list
Dim htmlContent As String = "<table><tr><th>Product Name</th><th>Amount</th><th>Date</th></tr>"
For Each transaction In transactions
htmlContent &= $"<tr><td>{transaction.ProductName}</td><td>{transaction.Amount}</td><td>{transaction.Date.ToShortDateString()}</td></tr>"
Next transaction
htmlContent &= "</table>"
' Convert HTML to PDF
Dim pdf As PdfDocument = pdfDocument.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs(pdfFilePath)
Los desarrolladores tienen la opción de guardar el documento PDF en el disco o mostrarlo a los usuarios una vez producido. IronPDF ofrece varias opciones de salida, incluida la transmisión por navegador, el guardado de archivos y la integración de almacenamiento en la nube.
La pantalla anterior muestra la salida generada a partir del código anterior. Para más información sobre el código aquí.
La combinación de colecciones con IronPDF hace posible una plétora de oportunidades para la producción dinámica de documentos. Los desarrolladores pueden gestionar y organizar eficazmente los datos utilizando colecciones, e IronPDF facilita la creación de documentos PDF visualmente atractivos. La potencia combinada de IronPDF y collections ofrece una solución fiable y adaptable para la producción de contenido dinámico en aplicaciones C#, independientemente del tipo de documento que esté produciendo: facturas, informes o cualquier otra cosa.
La edición Lite $749 de IronPDF incluye un año de soporte de software, opciones de actualización y una licencia permanente. Los usuarios también tienen la oportunidad de evaluar el producto en circunstancias reales durante el periodo de prueba con marca de agua. Para obtener más información sobre el coste, la licencia y la prueba gratuita de IronPDF, visite la licencia página. Para más información sobre Iron Software, visite este enlace sitio web.
9 productos API .NET para sus documentos de oficina