Ich habe eine Liste mit einigen Bezeichner wie folgt aus:Sortieren einer Liste aus einer anderen Liste IDs
List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };
Morover, ich habe eine andere Liste von <T>
Elemente, die durch die ids oben beschrieben dargestellt werden.
List<T> docs = GetDocsFromDb(...)
Ich brauche die gleiche Reihenfolge in beiden Sammlungen zu halten, so dass die Elemente in List<T>
in der gleichen Position sein muss als in dem ersten (wegen Motor Scoring Gründe suchen). Und dieser Prozess kann nicht in der GetDocsFromDb()
Funktion durchgeführt werden.
Bei Bedarf ist es möglich, die zweite Liste in eine andere Struktur (Dictionary<long, T>
zum Beispiel) zu ändern, aber ich würde es vorziehen, es nicht zu ändern.
Gibt es eine einfache und effiziente Möglichkeit, diese "ORDENATION abhängig von einigen IDs" mit LINQ zu tun?
versichern Sie, dass jeder 'docId' genau einmal in' docs' auftritt, welche Eigenschaft die 'Id' halten oder wird ein Selektor' Func 'erforderlich? –
Jodrell
Stellt die erste Liste eine "Masterliste" dar? Ein anderes Wort, wird die zweite Liste eine Untermenge sein, die einen Teil (oder die Gesamtheit) der ersten Liste darstellt? – code4life