IRONSOFTWAREHOME
ENTWICKLER-UPDATES

C# Orderby (Funktionsweise für Entwickler)

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 21. April 2026

Sortieren ist eine grundlegende Operation in jeder Programmiersprache, und die C# OrderBy-Methode ist ein leistungsstarkes Werkzeug zum Anordnen von Elementen innerhalb von Sammlungen. Ob Sie mit Arrays, Listen oder anderen aufzählbaren Strukturen arbeiten, das Verständnis, wie man OrderBy nutzt, kann die Lesbarkeit und Funktionalität Ihres Codes erheblich verbessern.

Später in diesem Artikel stellen wir die IronPDF-Bibliothek von Iron Software vor und wie wir die LINQ OrderBy-Methode und IronPDF nutzen können, um formatierte und sortierte PDFs zu erstellen.

Was ist die LINQ OrderBy Methode?

Die OrderBy-Methode ist Teil der LINQ (Language-Integrated Query)-Bibliothek in C# und ist speziell dafür ausgelegt, Elemente in aufsteigender Reihenfolge zu sortieren; da es der Standardweg ist, Daten zu sortieren, ist kein aufsteigendes Schlüsselwort erforderlich.

Wie man die LINQ OrderBy Methode verwendet

Daten in aufsteigender Reihenfolge sortieren

In C# gibt es zwei Möglichkeiten, diese Methode anzuwenden: durch Methodensyntax oder Abfragesyntax. Wir werden die Methodensyntax verwenden, da sie einfach ist:

var sortedCollection = collection.OrderBy(item => item.OrderByProperty);

Hierbei ist collection die IEnumerable-Quellenkollektion, die Sie sortieren möchten, und OrderByProperty ist die Eigenschaft oder der Ausdruck, nach dem Sie die Elemente ordnen möchten. Der Lambdaausdruck innerhalb von OrderBy legt das Sortierkriterium fest.

Sortieren von Daten in absteigender Reihenfolge

Um in absteigender Reihenfolge zu sortieren, können Sie die OrderByDescending-Methode mit der methode-basierten Syntax verwenden:

var sortedCollectionDesc = collection.OrderByDescending(item => item.OrderByProperty);

Daten nach mehreren Kriterien sortieren

In realen Szenarien müssen Sie oft eine Sammlung basierend auf mehreren Kriterien sortieren. OrderBy ermöglicht dies durch das Verketten mehrerer ThenBy- oder ThenByDescending-Aufrufe:

var multiSortedCollection = collection
    .OrderBy(item => item.OrderByProperty1)
    .ThenByDescending(item => item.OrderByProperty2);

In diesem Beispiel wird die Sammlung zuerst nach OrderByProperty1 in aufsteigender Reihenfolge sortiert. Dann, für Elemente mit demselben OrderByProperty1-Wert, wird nach OrderByProperty2 in absteigender Reihenfolge sortiert.

Benutzerdefinierte Vergleiche

Bei komplexeren Sortieranfragen können Sie benutzerdefinierte Vergleicher verwenden. Die OrderBy-Methode ermöglicht es Ihnen, eine IComparer<t>-Implementierung zu übergeben, wie im folgenden Beispiel gezeigt:

var customSortedCollection = collection.OrderBy(item => item.Property, new CustomComparer());

Hierbei ist CustomComparer eine Klasse, die die IComparer<t>-Schnittstelle implementiert und benutzerdefinierte Logik zum Vergleichen von Elementen bietet.

Praktisches Beispiel: Sortieren von Objekten

Sortieren einer Liste von Ganzzahlen

using System;
using System.Linq;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 5, 2, 8, 1, 7 };
        var sortedNumbers = numbers.OrderBy(num => num);
        Console.WriteLine("Sorted Numbers:");
        foreach (var number in sortedNumbers)
        {
            Console.WriteLine(number);
        }
    }
}

In diesem Beispiel wird eine Liste von Ganzzahlen in aufsteigender Reihenfolge unter Verwendung von OrderBy sortiert.

Sortieren einer Liste von Strings

using System;
using System.Linq;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<string> names = new List<string> { "Alice", "Charlie", "Bob", "David" };
        var sortedNames = names.OrderBy(name => name);
        Console.WriteLine("Sorted Names:");
        foreach (var name in sortedNames)
        {
            Console.WriteLine(name);
        }
    }
}

In diesem Beispiel wird das Sortieren einer Liste von Zeichenfolgen in aufsteigender alphabetischer Reihenfolge demonstriert.

Sortieren einer Liste von benutzerdefinierten Objekten

using System;
using System.Linq;
using System.Collections.Generic;

class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main()
    {
        List<Person> people = new List<Person>
        {
            new Person { FirstName = "John", LastName = "Doe", Age = 30 },
            new Person { FirstName = "Alice", LastName = "Smith", Age = 25 },
            new Person { FirstName = "Bob", LastName = "Johnson", Age = 35 }
        };
        var sortedPeople = people.OrderBy(person => person.Age);
        Console.WriteLine("Sorted People by Age:");
        foreach (var person in sortedPeople)
        {
            Console.WriteLine($"{person.FirstName} {person.LastName}, Age: {person.Age}");
        }
    }
}

In diesem Beispiel wird eine Liste von benutzerdefinierten Person-Objekten basierend auf der Age-Eigenschaft in aufsteigender Reihenfolge sortiert.

Folgende Ausgabe ist in der Konsole sichtbar:

C# Orderby (How It Works For Developers): Abbildung 1 - Ausgabe des vorherigen Codes, der benutzerdefinierte Objekte sortiert

Handhabung von String-Vergleichen

Im Umgang mit Zeichenfolgeneigenschaften möchten Sie möglicherweise eine nicht-case-sensitive Sortierung sicherstellen:

var sortedPeopleByName = people.OrderBy(person => person.LastName, StringComparer.OrdinalIgnoreCase);

Dieses Beispiel verwendet StringComparer.OrdinalIgnoreCase, um eine fallunabhängige Sortierung basierend auf der LastName-Eigenschaft durchzuführen.

Erwägungen zur Leistung

Während LINQ eine prägnante Möglichkeit bietet, Sammlungen zu sortieren, ist es wichtig, die Leistungsauswirkungen insbesondere für große Datensätze zu berücksichtigen. Für leistungsrelevante Szenarien könnten Sie Alternativen wie das Sortieren direkt im Speicher mit der List<t>.Sort-Methode in Betracht ziehen.

Einführung in IronPDF

Entdecken Sie die Fähigkeiten von IronPDF innerhalb der C# PDF-Bibliothek von Iron Software, die hilft, PDF-Dokumente zu lesen und zu erstellen. Es kann formatierte Dokumente mit Stilinformationen problemlos in PDF konvertieren. IronPDF kann PDFs aus HTML-Strings generieren oder das HTML von der URL herunterladen und dann PDFs generieren.

IronPDF brilliert, wenn es darum geht, HTML in PDF zu konvertieren, wobei alle Layouts und Stile erhalten bleiben. Es kann PDFs aus verschiedenen Webinhalten wie Berichten, Rechnungen und Dokumentationen generieren. Das Tool arbeitet mit HTML-Dateien, URLs und HTML-Strings, um PDF-Dateien zu erstellen.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

Installation

IronPDF kann über die NuGet-Paketmanager-Konsole oder über den Visual Studio Paketmanager installiert werden.

PM > Install-Package IronPdf

Sie können IronPDF auch über den NuGet-Paket-Manager installieren, indem Sie "IronPDF" in der Suchleiste suchen.

C# Orderby (How It Works For Developers): Abbildung 2 - Installation von IronPDF über den NuGet-Paket-Manager

PDF-Erzeugung mit IronPDF

Unten ist der Code zur Erstellung eines PDF-Berichts mithilfe eines HTML-Strings und des IronPDF-Generators:

// See https://aka.ms/new-console-template for more information

using IronPdf;
using System;
using System.Collections.Generic;
using System.Linq;

class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main()
    {
        List<Person> people = new List<Person>
        {
            new Person { FirstName = "John", LastName = "Doe", Age = 30 },
            new Person { FirstName = "Alice", LastName = "Smith", Age = 25 },
            new Person { FirstName = "Bob", LastName = "Johnson", Age = 35 }
        };
        
        // Sort people by age
        var sortedPeople = people.OrderBy(person => person.Age);
        
        string name = "Sam";
        var count = people.Count;
        
        // Generate an HTML string
        string content = $@"<!DOCTYPE html>
<html>
<body>
<h1>Hello, {name}!</h1>
<p>You have {count} people sorted by Age.</p>
" + string.Join("\n", sortedPeople.Select(person => $"{person.FirstName} {person.LastName}, Age: {person.Age}"))
+ @"
</body>
</html>";

        // Create a new PDF document and save it
        var pdfDocument = new ChromePdfRenderer();
        pdfDocument.RenderHtmlAsPdf(content).SaveAs("personByAge.pdf");
    }
}

Hier erzeugen wir zuerst eine HTML-Zeichenkette aus sortedPeople, die in aufsteigender Reihenfolge sortiert wird, mit all dem für die Berichte erforderlichen Format. Dann verwenden wir IronPDF, um ein PDF-Dokument zu erstellen. Wir nutzen die RenderHtmlAsPdf-Methode, um die HTML-Zeichenkette in ein PDF-Dokument zu konvertieren.

Ausgabe

Folgende Ausgabe ist im PDF verfügbar:

C# Orderby (How It Works For Developers): Abbildung 3 - Ausgabe-PDF aus dem vorherigen Code

Lizenzierung (Kostenlose Testversion verfügbar)

Ein Testschlüssel kann von der IronPDF-Testlizenz erhalten werden. Dieser Schlüssel muss in appsettings.json platziert werden.

"IronPdf.LicenseKey": "your license key"
JSON

Geben Sie Ihre E-Mail für eine Testlizenz an.

Abschluss

Die OrderBy-Methode in C# ist ein vielseitiges Werkzeug zum Sortieren von Sammlungen basierend auf verschiedenen Kriterien. Ob Sie in aufsteigender oder absteigender Reihenfolge, nach einzelnen oder mehreren Kriterien oder mit benutzerdefinierten Vergleichern sortieren, das Beherrschen von OrderBy kann die Klarheit und Effizienz Ihres Codes erheblich verbessern.

Zusammen mit der IronPDF-Bibliothek zur Erstellung von PDF-Dokumenten ist es eine großartige Kombination, um eine wunderschön formatierte und sortierte Sammlung als Dokument zu erstellen.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $