Sortieren einer Liste aus einer anderen Liste-IDs

Habe ich eine Liste mit einigen Bezeichner wie diese:

List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };

Außerdem habe ich eine andere Liste von <T> Positionen, die vertreten werden durch die ids wie oben beschrieben.

List<T> docs = GetDocsFromDb(...)

Ich brauche, um die gleiche Reihenfolge in beiden Sammlungen, so dass die Elemente in List<T> müssen in der gleichen position, als in der ersten (durch Suchmaschinen-scoring-Gründen). Und dieser Prozess kann nicht getan werden in der GetDocsFromDb() Funktion.

Wenn nötig, ist es möglich, ändern Sie die zweite Liste in eine andere Struktur (Dictionary<long, T> zum Beispiel), aber ich würde es vorziehen, nicht zu ändern.

Gibt es eine einfache und effiziente Möglichkeit, dies zu tun "ordenation je einige IDs" mit LINQ?

sind Sie sicher, dass jeder docId tritt genau einmal in docs, welche Eigenschaft halten Sie die Id oder wird ein Selektor Func<T, long> erforderlich?
Nicht in der ersten Liste vertreten eine "master-Liste"? Anderen Worten, wird in der zweiten Liste eine Teilmenge darstellt einen Teil (oder die Gesamtheit) der ersten Liste?

InformationsquelleAutor Borja López | 2013-03-07

Schreibe einen Kommentar