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 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 con SortedLists junto con 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.
Ventajas:
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"
Puedes eliminar elementos utilizando las claves especificadas usando el método Remove o eliminarlos usando el índice especificado con 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ñado para acceder a elementos por clave y mantiene los elementos ordenados.
Cuándo usar SortedList: Úselo cuando necesite datos ordenados y principalmente acceder a ellos mediante clave, especialmente para escenarios con mucho énfasis en la lectura.
IronPDF es una potente biblioteca 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 la creación, adición y eliminación de elementos hasta la integración 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 IronPDF puede simplificar la tarea de exportar valores especificados de un SortedList al formato PDF, permitiendo la creación fácil 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 una prueba gratuita que te 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#.