


Wie sortiere ich eine Liste anhand der Reihenfolge der Bezeichner in einer anderen Liste mithilfe von LINQ?
Jan 19, 2025 pm 12:12 PMSortieren einer Liste basierend auf Bezeichnern aus einer anderen Liste mit LINQ
In vielen Programmierszenarien werden Sie möglicherweise mit zwei Listen konfrontiert: eine mit Bezeichnern und eine andere mit zugehörigen Elementen mit diesen Identifikatoren. Die Herausforderung entsteht, wenn Sie in beiden Listen die gleiche Reihenfolge der Elemente beibehalten müssen. Dieser Artikel bietet eine einfache und effiziente Lösung mit LINQ zur Behebung dieses Problems.
Angenommen, Sie haben eine Liste mit Bezeichnern:
List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };
Sie haben auch eine Liste mit Elementen, die durch die IDs in dargestellt werden docIds:
List<T> docs = GetDocsFromDb(...);
Ihr Ziel ist es, die Dokumentenliste basierend auf den entsprechenden Kennungen in aufsteigend neu zu ordnen docIds. Die Reihenfolge der Elemente in beiden Listen sollte identisch sein.
Der folgende LINQ-Ausdruck löst dieses Problem:
docs = docs.OrderBy(d => docIds.IndexOf(d.Id)).ToList();
Erklärung:
- OrderBy(d => ; docIds.IndexOf(d.Id)): Dieser Lambda-Ausdruck gibt das Sortierkriterium an. Es ruft den Index der ID des Elements in der docIds-Liste ab und sortiert die Dokumentenliste effektiv basierend auf der Position seiner IDs in docIds.
- ToList(): Dies wandelt das sortierte Ergebnis in eine neue Liste um und behält die sortierte Reihenfolge.
Diese Methode ordnet die Dokumentenliste basierend auf den Bezeichnern in docIds effizient neu. Stellen Sie sicher, dass die Elemente in beiden Listen in derselben Reihenfolge sind.
Das obige ist der detaillierte Inhalt vonWie sortiere ich eine Liste anhand der Reihenfolge der Bezeichner in einer anderen Liste mithilfe von LINQ?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

GULC: C -Bibliothek von Grund auf neu gebaut

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

eindeutiger Gebrauch und Phrasenfreigabe

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?
