Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
La clase SortedList en C# es una colección de pares clave-valor, similar a un diccionario, pero con el beneficio adicional de ordenar automáticamente por claves. Forma parte del espacio de nombres System.Collections.Generic y está diseñado para situaciones en las que necesitas un acceso rápido a datos ordenados. SortedList TKey, TValue es ideal cuando necesitas mantener los datos en un orden particular y acceder a los elementos por clave de manera eficiente.
Cuando se trata de trabajar conListasOrdenadasjunto con las tareas de generación de PDF, IronPDF se integra perfectamente con esta clase, brindándole aún más control sobre la generación de PDF.
La clase pública SortedList es un híbrido entre un array y una tabla hash, y organiza sus elementos por clave. Internamente, utiliza un array ordenado para mantener los valores clave en orden, lo que significa que, aunque las búsquedas por clave son eficientes, las operaciones de inserción y eliminación pueden ser más lentas que en un Diccionario.
De forma predeterminada, SortedList TKey, TValue ordena las claves en orden ascendente utilizando la interfaz IComparable, lo que garantiza que las claves de cadena y otros tipos implementen un comportamiento de comparación predeterminado. Si se necesita un orden de clasificación personalizado, se puede proporcionar un comparador personalizado.
Pros:
Contras:
Para crear un SortedList en C#, puedes usar el constructor predeterminado o pasar un IComparer si necesitas un ordenamiento personalizado. SortedList tiene una capacidad inicial predeterminada de 16, pero si conoces el tamaño aproximado de antemano, esto se puede especificar para mejorar el rendimiento.
SortedList<int, string> sortedList = new SortedList<int, string>();
SortedList<int, string> sortedList = new SortedList<int, string>();
Dim sortedList As New SortedList(Of Integer, String)()
Puede añadir pares clave-valor a la SortedList utilizando el método Add, lo que mantendrá los elementos ordenados por clave. En el siguiente ejemplo de código, la SortedList se ordena por los valores de clave especificados, manteniendo automáticamente los datos en orden ascendente.
sortedList.Add(1, "Apple");
sortedList.Add(3, "Banana");
sortedList.Add(2, "Cherry");
sortedList.Add(1, "Apple");
sortedList.Add(3, "Banana");
sortedList.Add(2, "Cherry");
sortedList.Add(1, "Apple")
sortedList.Add(3, "Banana")
sortedList.Add(2, "Cherry")
Accede a los elementos en un SortedList utilizando sus claves. Puedes recuperar o modificar cualquier valor especificado asociado con claves directamente.
// Accessing a specific value by key
string value = sortedList[1]; // "Apple"
// Modifying a value
sortedList[1] = "Avocado";
// Accessing a specific value by key
string value = sortedList[1]; // "Apple"
// Modifying a value
sortedList[1] = "Avocado";
' Accessing a specific value by key
Dim value As String = sortedList(1) ' "Apple"
' Modifying a value
sortedList(1) = "Avocado"
Puede eliminar elementos utilizando claves especificadas mediante el método Remove o eliminarlos utilizando el índice especificado mediante RemoveAt. Ambas opciones permiten la eliminación controlada de los datos del objeto especificado en el SortedList.
sortedList.Remove(3); // Removes key 3
sortedList.RemoveAt(0); // Removes item at a zero-based index 0
sortedList.Remove(3); // Removes key 3
sortedList.RemoveAt(0); // Removes item at a zero-based index 0
sortedList.Remove(3) ' Removes key 3
sortedList.RemoveAt(0) ' Removes item at a zero-based index 0
Puedes iterar sobre SortedList usando un bucle foreach, que recupera tanto las claves como los valores en orden clasificado.
foreach (KeyValuePair<int, string> kvp in sortedList)
{
Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}
foreach (KeyValuePair<int, string> kvp in sortedList)
{
Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}
For Each kvp As KeyValuePair(Of Integer, String) In sortedList
Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}")
Next kvp
Ejemplo 2: Usar SortedList en escenarios más complejos, como mostrar registros de transacciones ordenados o puntuaciones clasificadas.
Mejores prácticas:
SortedList vs. List: A diferencia de una lista, SortedList está diseñada para acceder a los elementos por clave y mantiene los elementos en orden ordenado.
Cuándo utilizar SortedList: Úselo cuando necesite datos ordenados y principalmente acceda a ellos por clave, especialmente para escenarios con muchas lecturas.
IronPDFes una biblioteca potente para generar y modificar archivos PDF en C#. Permite a los desarrolladores crear archivos PDF a partir de diversas fuentes, añadir contenido de forma programática y personalizar los diseños de PDF. En esta sección, utilizaremos IronPDF para crear un informe PDF a partir de datos de SortedList.
Para comenzar a usar IronPDF, instale el paquete NuGet de IronPDF:
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
El siguiente ejemplo demuestra cómo exportar datos de un SortedList a una tabla PDF.
Primero, configure su SortedList:
SortedList<int, string> sortedList = new SortedList<int, string>
{
{ 1, "Apple" },
{ 2, "Banana" },
{ 3, "Cherry" }
};
SortedList<int, string> sortedList = new SortedList<int, string>
{
{ 1, "Apple" },
{ 2, "Banana" },
{ 3, "Cherry" }
};
Dim sortedList As New SortedList(Of Integer, String) From {
{1, "Apple"},
{2, "Banana"},
{3, "Cherry"}
}
A continuación, utiliza IronPDF para generar un PDF a partir de estos datos:
ChromePdfRenderer renderer = new ChromePdfRenderer();
string html = "<h1>Sorted List Data</h1><table border='1'><tr><th>Key</th><th>Value</th></tr>";
foreach (var kvp in sortedList)
{
html += $"<tr><td>{kvp.Key}</td><td>{kvp.Value}</td></tr>";
}
html += "</table>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("sortedList.pdf");
ChromePdfRenderer renderer = new ChromePdfRenderer();
string html = "<h1>Sorted List Data</h1><table border='1'><tr><th>Key</th><th>Value</th></tr>";
foreach (var kvp in sortedList)
{
html += $"<tr><td>{kvp.Key}</td><td>{kvp.Value}</td></tr>";
}
html += "</table>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("sortedList.pdf");
Dim renderer As New ChromePdfRenderer()
Dim html As String = "<h1>Sorted List Data</h1><table border='1'><tr><th>Key</th><th>Value</th></tr>"
For Each kvp In sortedList
html &= $"<tr><td>{kvp.Key}</td><td>{kvp.Value}</td></tr>"
Next kvp
html &= "</table>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("sortedList.pdf")
Este código crea una tabla HTML a partir de los datos de SortedList y la convierte en un PDF usando IronPDF.
En este artículo, exploramos la clase SortedList de C#, una poderosa herramienta para gestionar colecciones de datos ordenados de clave-valor. SortedList es especialmente útil en escenarios donde el orden y el acceso eficiente por clave son críticos. Desde crear, agregar y eliminar elementos hasta integrar con IronPDF para la exportación de PDF, cubrimos pasos prácticos y mejores prácticas para usar SortedList en aplicaciones del mundo real.
Además, mostramos cómo IronPDFpuede simplificar la tarea de exportar valores especificados de un SortedList al formato PDF, lo que permite la fácil creación de informes profesionales y bien organizados. La versatilidad de IronPDF, que incluye encabezados, pies de página y estilos CSS personalizables, lo convierte en una excelente opción para generar PDFs directamente desde tus aplicaciones C#.
Si estás interesado en probar IronPDF, ofrece un **Prueba gratuitaque le permite explorar su gama completa de funciones sin compromiso. Con esta prueba, puedes probar la generación de PDF, las opciones de personalización y la integración en tus proyectos existentes para asegurarte de que satisfaga tus necesidades. Al combinar SortedList e IronPDF, los desarrolladores obtienen una solución robusta y eficiente para gestionar y reportar datos ordenados en aplicaciones C#.
9 productos API .NET para sus documentos de oficina