IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

Listas ordenadas em C# (Como funciona para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 23 de abril de 2026

Introdução ao SortedList de C#

O que é uma lista ordenada?

A classe C# SortedList é uma coleção de pares chave-valor, semelhante a um dicionário, mas tem o benefício adicional de ordenação automática por chaves. Faz parte do namespace System.Collections.Generic e é projetada para cenários onde você precisa de acesso rápido a dados ordenados. SortedList<TKey, TValue> é ideal quando você precisa manter dados em uma ordem específica e acessar elementos eficientemente por chave.

Ao trabalhar com SortedLists em conjunto com tarefas de geração de PDF, o IronPDF se integra perfeitamente a essa classe, proporcionando maior controle sobre a geração de PDFs.

Principais funcionalidades e casos de uso

  • Armazenamento de pares chave-valor: Assim como um dicionário, o SortedList armazena dados como pares chave-valor.
  • Ordenação automática: SortedList mantém valores associados ordenados por chave em ordem crescente por padrão.
  • Recuperação eficiente de dados: A recuperação rápida de valores associados por chave torna-a adequada para pesquisas.
  • Casos de uso: Útil para aplicações que necessitam de dados classificados, como o gerenciamento de listas ordenadas de nomes, datas ou valores numéricos.

Como funciona a lista ordenada (SortedList)

Visão geral da estrutura de dados

A classe pública SortedList é um híbrido entre um array e uma tabela hash e organiza seus itens por chave. Internamente, utiliza um array ordenado para manter os valores das chaves em ordem, garantindo buscas eficientes por chave. No entanto, as operações de inserção e exclusão podem ser mais lentas do que em um Dictionary.

Mecanismo de classificação

Por padrão, SortedList<TKey, TValue> ordena chaves em ordem crescente usando a interface IComparable, que garante que chaves de string e outros tipos implementem um comportamento de comparação padrão. Caso seja necessária uma ordem de classificação personalizada, um comparador personalizado pode ser fornecido.

Vantagens e limitações

  • Prós:
    • Acesso rápido por chave: Fornece acesso rápido O(log n) por chave.
    • Ordem de classificação: Os dados são classificados automaticamente por chave, sem sobrecarga adicional de classificação.
  • Contras:
  • Velocidade de inserção: Mais lenta que Dictionary para inserções, especialmente com grandes volumes de dados.
  • Eficiência limitada para operações não essenciais: Menos eficiente em cenários onde os dados não são acessados ​​principalmente por valores de chave específicos.

Trabalhando com SortedList de C#

Criando uma lista ordenada

Você pode criar um SortedList em C# usando o construtor padrão ou passando um IComparer se for necessário uma ordenação personalizada. O SortedList tem uma capacidade inicial padrão de 16, que pode ser ajustada para melhorias de desempenho quando o tamanho aproximado é conhecido.

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

Adicionando itens

Adicione pares chave-valor ao SortedList usando o método Add. Isso mantém os itens classificados por chave. O código a seguir mantém os dados da SortedList em ordem crescente de chaves.

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

Acessando e Modificando Elementos

Acesse elementos em um SortedList por suas chaves. Você pode recuperar ou modificar diretamente os valores associados às chaves.

// 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"

Removendo itens

Remova itens usando chaves específicas com o método Remove ou usando o índice especificado com RemoveAt. Ambos permitem a exclusão controlada de objetos do SortedList.

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

Iterando sobre uma lista ordenada

Itere sobre SortedList usando um loop foreach para recuperar tanto chaves quanto valores em ordem.

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

C# Sorted List (Como Funciona para Desenvolvedores): Figura 1

Exemplos práticos de utilização de listas ordenadas

  • Exemplo 1: Armazenar e recuperar dados em um formato simples de chave-valor onde a ordem é importante, como nomes de alunos por seus números de matrícula.
  • Exemplo 2: Usando SortedList em cenários mais complexos, como exibir logs de transações ordenados ou pontuações classificadas.

Melhores práticas:

  • Use SortedList quando as chaves forem o ponto de acesso principal e precisarem permanecer ordenadas.
  • Para inserções frequentes, considere alternativas como SortedDictionary para melhor desempenho.

Considerações sobre o desempenho

Comparando SortedList com Dictionary e List

  • SortedList vs. Dictionary: SortedList é mais lento para inserções em comparação com Dictionary devido à sobrecarga de ordenação.
  • SortedList vs. List: Ao contrário de uma lista, o SortedList foi projetado para acessar elementos por chave e manter a ordem classificada.

Quando usar SortedList: Use-o quando precisar de dados ordenados e acessá-los principalmente por chave, especialmente em cenários com grande volume de leituras.

Integração com o IronPDF para exportação de PDFs

Introdução ao IronPDF

C# Sorted List (Como Funciona para Desenvolvedores): Figura 2

IronPDF é uma biblioteca poderosa para gerar e modificar arquivos PDF em C#. Permite aos desenvolvedores criar PDFs a partir de diversas fontes, adicionar conteúdo programaticamente e personalizar layouts de PDF. Nesta seção, usaremos o IronPDF para criar um relatório em PDF a partir de dados de uma lista ordenada.

Geração de relatórios em PDF a partir de dados de listas ordenadas

Para começar a usar o IronPDF , instale o pacote NuGet do IronPDF :

PM > Install-Package IronPdf

Exemplo: Exportando dados de uma lista ordenada para um PDF

O exemplo a seguir demonstra como exportar dados de uma SortedList para uma tabela em PDF.

Primeiro, configure seu SortedList:

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

Em seguida, use o IronPDF para gerar um PDF a partir desses dados:

// 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");

C# Sorted List (Como Funciona para Desenvolvedores): Figura 3

Este código cria uma tabela HTML a partir dos dados da SortedList e a converte em um PDF usando o IronPDF.

Recursos avançados

  • Personalização do layout do PDF: O IronPDF permite estilização CSS para layouts, fontes, cores, etc.
  • Cabeçalhos e rodapés: O IronPDF suporta cabeçalhos e rodapés, que podem incluir números de página ou logotipos.

Resumo e Melhores Práticas

  • Visão geral do SortedList: SortedList é uma coleção ordenada de chave-valor, ideal para cenários em que os dados são acessados ​​por chaves específicas e precisam permanecer ordenados.
  • Usando o IronPDF para Exportar: O IronPDF é uma biblioteca prática para exportar dados de SortedList para PDFs, com suporte a layouts e estilos personalizados.

Conclusão

Neste artigo, exploramos a classe C# SortedList, uma ferramenta poderosa para gerenciar coleções de dados chave-valor ordenadas. SortedList é especialmente útil em cenários onde a ordem e o acesso eficiente por chave são críticos. Desde a criação, adição e remoção de elementos até a integração com IronPDF para exportação de PDF, cobrimos etapas práticas e melhores práticas para usar SortedList em aplicações do mundo real.

Além disso, mostramos como IronPDF pode simplificar a tarefa de exportar valores especificados de um SortedList para o formato PDF, permitindo a fácil criação de relatórios profissionais e bem organizados. A versatilidade do IronPDF, incluindo cabeçalhos, rodapés e estilos CSS personalizáveis, o torna uma excelente opção para gerar PDFs diretamente de seus aplicativos C#.

Se você estiver interessado em experimentar o IronPDF, ele oferece um período de teste gratuito que permite explorar todos os seus recursos sem compromisso. Esta versão de avaliação permite testar a geração de PDFs, as opções de personalização e a integração em projetos existentes para garantir que atenda às suas necessidades. Ao combinar SortedList e IronPDF, os desenvolvedores ganham uma solução robusta e eficiente para gerenciar e relatar dados ordenados em aplicações C#.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.