IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

C# Posortowana lista (Jak to działa dla deweloperów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 23 kwietnia 2026

Wprowadzenie do C# SortedList

Czym jest SortedList?

Klasa C# SortedList to zbiór par klucz-wartość, podobny do słownika, ale z dodatkowym atutem automatycznego sortowania według kluczy. Jest częścią przestrzeni nazw System.Collections.Generic i jest zaprojektowana do scenariuszy, w których potrzebujesz szybkiego dostępu do posortowanych danych. SortedList<TKey, TValue> jest idealne, gdy musisz utrzymać dane w określonej kolejności i wydajnie uzyskać dostęp do elementów według klucza.

Podczas pracy z klasą SortedLists w połączeniu z zadaniami generowania plików PDF, IronPDF doskonale integruje się z tą klasą, zapewniając lepszą kontrolę nad generowaniem plików PDF.

Kluczowe funkcje i przykłady zastosowań

  • Przechowywanie par klucz-wartość: Podobnie jak słownik, SortedList przechowuje dane w postaci par klucz-wartość.
  • Automatyczne Sortowanie: SortedList domyślnie utrzymuje skojarzone wartości posortowane według klucza w porządku rosnącym.
  • Efektywne pobieranie danych: Szybkie pobieranie powiązanych wartości na podstawie klucza sprawia, że nadaje się do wyszukiwania.
  • Przykłady zastosowań: Przydatne w aplikacjach wymagających posortowanych danych, takich jak zarządzanie uporządkowanymi listami nazwisk, dat lub wartości liczbowych.

Jak działa SortedList

Przegląd struktur danych

Publiczna klasa SortedList to hybryda pomiędzy tablicą a tablicą mieszającą i organizuje swoje elementy według klucza. Wewnętrznie wykorzystuje posortowaną tablicę do utrzymania porządku wartości kluczy, zapewniając wydajne wyszukiwanie według klucza. Jednakże, operacje wstawiania i usuwania mogą być wolniejsze niż w Dictionary.

Mechanizm sortowania

Domyślnie SortedList<TKey, TValue> sortuje klucze w porządku rosnącym, używając interfejsu IComparable, co zapewnia, że klucze ciągów i inne typy implementują domyślne zachowanie porównawcze. Jeśli potrzebna jest niestandardowa kolejność sortowania, można dostarczyć niestandardowy moduł porównawczy.

Zalety i ograniczenia

  • Zalety:
    • Szybki dostęp według klucza: Zapewnia szybki dostęp O(log n) według klucza.
    • Sortowanie: Dane są automatycznie sortowane według klucza bez dodatkowego obciążenia związanego z sortowaniem.
  • Wady:
  • Szybkość Wstawiania: Wolniejsza niż Dictionary dla wstawień, szczególnie przy dużych rozmiarach danych.
    • Ograniczona wydajność w przypadku operacji nieopartych na kluczach: Mniejsza wydajność w sytuacjach, w których dostęp do danych nie odbywa się głównie za pomocą określonych wartości kluczy.

Praca z C# SortedList

Tworzenie listy posortowanej

Możesz utworzyć SortedList w C# używając konstruktor domyślnego lub przekazując IComparer, jeśli potrzebne jest sortowanie niestandardowe. SortedList ma domyślną początkową pojemność 16, którą można dostosować w celu poprawy wydajności, gdy znany jest przybliżony rozmiar.

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

Dodawanie elementów

Dodaj pary klucz-wartość do SortedList używając metody Add. Dzięki temu elementy są posortowane według klucza. Poniższy kod utrzymuje dane SortedList w porządku rosnącym według kluczy.

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

Dostęp do elementów i ich modyfikacja

Uzyskaj dostęp do elementów w SortedList według ich kluczy. Można bezpośrednio pobierać lub modyfikować wartości powiązane z kluczami.

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

Usuwanie elementów

Usuń elementy przy użyciu określonych kluczy za pomocą metody Remove lub używając określonego indeksu z RemoveAt. Oba pozwalają na kontrolowane usuwanie obiektów z SortedList.

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

Iteracja nad listą posortowaną

Iteruj przez SortedList używając pętli foreach, aby pobrać zarówno klucze, jak i wartości w uporządkowanej kolejności.

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

Lista Posortowana C# (Jak Działa dla Programistów): Figura 1

Praktyczne przykłady wykorzystania SortedList

  • Przykład 1: Przechowywanie i pobieranie danych w prostym formacie klucz-wartość, w którym kolejność ma znaczenie, np. nazwiska uczniów według numerów z listy.
  • Przykład 2: Użycie SortedList w bardziej złożonych scenariuszach, takich jak wyświetlanie posortowanych dzienników transakcji lub sklasyfikowanych wyników.

Najlepsze praktyki:

  • Użyj SortedList, gdy klucze są głównym punktem dostępu i muszą pozostać posortowane.
  • Dla częstych wstawek rozważ alternatywy, takie jak SortedDictionary, dla lepszej wydajności.

Kwestie związane z wydajnością

Porównanie SortedList z Dictionary i List

  • SortedList a Dictionary: SortedList działa wolniej przy wstawianiu danych w porównaniu z Dictionary ze względu na obciążenie związane z sortowaniem.
  • SortedList a List: W przeciwieństwie do listy, SortedList jest zaprojektowana do uzyskiwania dostępu do elementów za pomocą klucza i zachowania uporządkowanej kolejności.

Kiedy używać SortedList: Używaj jej, gdy potrzebujesz posortowanych danych i uzyskujesz do nich dostęp głównie za pomocą klucza, zwłaszcza w scenariuszach wymagających intensywnego odczytu.

Integracja z IronPDF w celu eksportu do formatu PDF

Wprowadzenie do IronPDF

Lista Posortowana C# (Jak Działa dla Programistów): Figura 2

IronPDF to potężna biblioteka do generowania i modyfikowania plików PDF w języku C#. Pozwala to programistom tworzyć pliki PDF z różnych źródeł, dodawać treści programowo oraz dostosowywać układy plików PDF. W tej sekcji użyjemy IronPDF do utworzenia raportu PDF na podstawie danych z SortedList.

Generowanie raportów PDF na podstawie danych z SortedList

Aby rozpocząć korzystanie z IronPDF, zainstaluj pakiet IronPDF NuGet:

PM > Install-Package IronPdf

Przykład: Eksportowanie danych z SortedList do pliku PDF

Poniższy przykład pokazuje, jak wyeksportować dane z SortedList do tabeli w formacie PDF.

Najpierw skonfiguruj swój SortedList:

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

Następnie użyj IronPDF do wygenerowania pliku PDF na podstawie tych danych:

// 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 Posortowana C# (Jak Działa dla Programistów): Figura 3

Ten kod tworzy tabelę HTML na podstawie danych z SortedList i konwertuje ją do formatu PDF przy użyciu IronPDF.

Zaawansowane funkcje

  • Dostosowywanie układu plików PDF: IronPDF umożliwia stosowanie stylów CSS do układów, czcionek, kolorów itp.
  • Nagłówki i stopki: IronPDF obsługuje nagłówki i stopki, które mogą zawierać numery stron lub logo.

Podsumowanie i najlepsze praktyki

  • Omówienie SortedList: SortedList to posortowana kolekcja par klucz-wartość, najlepiej sprawdzająca się w sytuacjach, w których dostęp do danych odbywa się za pomocą określonych kluczy i dane muszą pozostać posortowane.
  • Wykorzystanie IronPDF do eksportu: IronPDF to wygodna biblioteka do eksportowania danych z SortedList do plików PDF, obsługująca niestandardowe układy i style.

Wnioski

W tym artykule omówiliśmy klasę C# SortedList, potężne narzędzie do zarządzania posortowanymi kolekcjami danych klucz-wartość. SortedList jest szczególnie przydatne w scenariuszach, w których kolejność i wydajny dostęp przez klucze są krytyczne. Od tworzenia, dodawania i usuwania elementów po integrację z IronPDF w celu eksportu PDF, omówiliśmy praktyczne kroki i najlepsze praktyki korzystania z SortedList w rzeczywistych aplikacjach.

Ponadto zaprezentowaliśmy, jak IronPDF może upraszczać zadanie eksportowania określonych wartości z SortedList do formatu PDF, umożliwiając łatwe tworzenie profesjonalnych, dobrze zorganizowanych raportów. Wszechstronność IronPDF, w tym możliwość dostosowywania nagłówków, stopek i stylów CSS, sprawia, że jest to doskonały wybór do generowania plików PDF bezpośrednio z aplikacji C#.

Jeśli chcesz wypróbować IronPDF, możesz skorzystać z bezpłatnej wersji próbnej, która pozwala zapoznać się z pełnym zakresem funkcji bez żadnych zobowiązań. Ta wersja próbna umożliwia przetestowanie generowania plików PDF, opcji dostosowywania oraz integracji z istniejącymi projektami, aby upewnić się, że spełnia ona Państwa potrzeby. Łącząc SortedList i IronPDF, programiści zyskują solidne, wydajne rozwiązanie do zarządzania i raportowania posortowanymi danymi w aplikacjach C#.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta