IRONSOFTWAREHOME
ACTUALIZACIONES PARA DESARROLLADORES

SortedList en C# | Lista ordenada de pares clave-valor

Jacob Mellor, Director de Tecnología @ Team Iron
Jacob Mellor
Updated: 23 de abril de 2026

Introducción a C# SortedList

¿Qué es una SortedList?

La clase C# SortedList es una colección de pares clave-valor, similar a un diccionario, pero tiene el beneficio adicional de ordenar automáticamente por claves. Es parte del espacio de nombres System.Collections.Generic y está diseñada para escenarios donde se necesita un acceso rápido a datos ordenados. SortedList<TKey, TValue> es ideal cuando se necesita mantener datos en un orden particular y acceder a los elementos de manera eficiente por clave.

Al trabajar con SortedLists junto con tareas de generación de PDF, IronPDF se integra perfectamente con esta clase, proporcionando un control mejorado sobre la generación de PDF.

Características principales y casos de uso

  • Almacenamiento de pares clave-valor: como un diccionario, SortedList almacena datos como pares clave-valor.
  • Ordenación Automática: SortedList mantiene los valores asociados ordenados por clave en orden ascendente por defecto.
  • Recuperación de datos eficiente: la recuperación rápida de valores asociados por clave lo hace adecuado para búsquedas.
  • Casos de uso: útil para aplicaciones que necesitan datos ordenados, como administrar listas ordenadas de nombres, fechas o valores numéricos.

Cómo funciona SortedList

Resumen de la estructura de datos

La clase pública SortedList es un híbrido entre un arreglo y una tabla hash y organiza sus elementos por clave. Internamente, usa un array ordenado para mantener las claves en orden, asegurando búsquedas eficientes por clave. Sin embargo, las operaciones de inserción y eliminación pueden ser más lentas que en un Dictionary.

Mecanismo de clasificación

Por defecto, SortedList<TKey, TValue> ordena las claves en orden ascendente usando la interfaz IComparable, que asegura que las claves de cadena y otros tipos implementen un comportamiento de comparación por defecto. Si se necesita un ordenamiento personalizado, se puede proporcionar un comparador personalizado.

Ventajas y limitaciones

  • Ventajas:
    • Acceso rápido a teclas: proporciona acceso rápido a O(log n) mediante tecla.
    • Orden de clasificación: los datos se ordenan automáticamente por clave sin sobrecarga de clasificación adicional.
  • Contras:
    • Velocidad de Inserción: Más lenta que Dictionary para inserciones, especialmente con grandes tamaños de datos.
    • Eficiencia limitada para operaciones no clave: menos eficiente en escenarios donde el acceso a los datos no se realiza principalmente mediante valores clave específicos.

Trabajando con C# SortedList

Creación de una SortedList

Se puede crear un SortedList en C# usando ya sea el constructor por defecto o pasando un IComparer si se necesita un ordenamiento personalizado. El SortedList tiene una capacidad inicial por defecto de 16, la cual se puede ajustar para mejorar el rendimiento cuando se conoce el tamaño aproximado.

// Create a SortedList with integer keys and string values
SortedList<int, string> sortedList = new SortedList<int, string>();

Añadir elementos

Agrega pares clave-valor al SortedList usando el método Add. Ordena elementos por clave. El siguiente código mantiene los datos de SortedList en orden ascendente de claves.

sortedList.Add(1, "Apple");
sortedList.Add(3, "Banana");
sortedList.Add(2, "Cherry");

Acceso y modificación de elementos

Accede a elementos en un SortedList por sus claves. Puedes recuperar o modificar los valores asociados a las claves directamente.

// Accessing a specific value by key
string value = sortedList[1];  // Retrieves "Apple"
// Modifying a value
sortedList[1] = "Avocado";   // Changes the value associated with key 1 to "Avocado"

Eliminación de elementos

Elimina elementos usando claves específicas con el método Remove o usando el índice especificado con RemoveAt. Ambos permiten la eliminación controlada de objetos del SortedList.

sortedList.Remove(3);       // Removes the entry with key 3
sortedList.RemoveAt(0);     // Removes the entry at the zero-based index 0

Iterar sobre una SortedList

Iterar sobre SortedList usando un bucle foreach para recuperar tanto claves como valores en orden.

foreach (KeyValuePair<int, string> kvp in sortedList)
{
    Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}

Lista Ordenada C# (Cómo Funciona para Desarrolladores): Figura 1

Ejemplos prácticos del uso de SortedList

  • Ejemplo 1: Almacenar y recuperar datos en un formato clave-valor simple donde el orden importa, como los nombres de los estudiantes por sus números de lista.
  • Ejemplo 2: Usando SortedList en escenarios más complejos, como mostrar registros de transacciones ordenados o puntuaciones clasificadas.

Bestes prácticas:

  • Usa SortedList cuando las claves son el punto de acceso principal y necesitan permanecer ordenadas.
  • Para inserciones frecuentes, considera alternativas como SortedDictionary para un mejor rendimiento.

Consideraciones sobre el rendimiento

Comparación de SortedList con Dictionary y List

  • SortedList vs. Dictionary: SortedList es más lento para las inserciones en comparación con Dictionary debido a la sobrecarga de clasificación.
  • SortedList vs. Lista: a diferencia de una lista, SortedList está diseñado para acceder a elementos por clave y mantener el orden ordenado.

Cuándo usar SortedList: Úselo cuando necesite datos ordenados y acceder a ellos principalmente por clave, especialmente para escenarios de lectura intensiva.

Integración con IronPDF para la exportación de PDF

Introducción a IronPDF

Lista Ordenada C# (Cómo Funciona para Desarrolladores): Figura 2

IronPDF es una potente biblioteca para generar y modificar archivos PDF en C#. Permite a los desarrolladores crear PDFs desde varias fuentes, añadir contenido programáticamente, y personalizar diseños de PDF. En esta sección, usaremos IronPDF para crear un informe en PDF a partir de datos de SortedList.

Generación de informes PDF a partir de datos de SortedList

Para comenzar a usar IronPDF, instala el paquete NuGet de IronPDF:

PM > Install-Package IronPdf

Ejemplo: Exportación de datos de una SortedList a un PDF

El siguiente ejemplo demuestra cómo exportar datos de un SortedList a una tabla PDF.

Primero, configura tu SortedList:

SortedList<int, string> sortedList = new SortedList<int, string>
{
    { 1, "Apple" },
    { 2, "Banana" },
    { 3, "Cherry" }
};

A continuación, usa IronPDF para generar un PDF a partir de estos datos:

// Initialize a PDF renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Build HTML string with table format
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>";

// Render HTML to PDF and save it
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("sortedList.pdf");

Lista Ordenada C# (Cómo Funciona para Desarrolladores): Figura 3

Este código crea una tabla HTML a partir de los datos de SortedList y lo convierte en un PDF usando IronPDF.

Características avanzadas

  • Personalización del diseño de PDF: IronPDF permite aplicar estilos CSS a diseños, fuentes, colores, etc.
  • Encabezados y pies de página: IronPDF admite encabezados y pies de página, que pueden incluir números de página o logotipos.

Resumen y buenas prácticas

  • Descripción general de SortedList: SortedList es una colección de valores clave ordenados, ideal para escenarios en los que se accede a los datos mediante claves específicas y estos deben permanecer ordenados.
  • Uso de IronPDF para exportar: IronPDF es una biblioteca conveniente para exportar datos de SortedList a archivos PDF, que admite diseños y estilos personalizados.

Conclusión

En este artículo, exploramos la clase C# SortedList, una herramienta poderosa para gestionar colecciones de datos ordenados por 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 a 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 estilizado CSS personalizables, lo convierte en una excelente elecció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. Esta prueba permite probar la generación de PDF, opciones de personalización e integración en proyectos existentes para asegurar que cumple con 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#.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, transformándola, junto con el director ejecutivo Cameron Rimington, en una empresa de más de 50 personas que presta servicios a la NASA, Tesla y organismos gubernamentales de todo el mundo.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999