Wie kann ich dieses Problem lösen? Ich habe mit LINQ versucht, aber ich finde keinen Weg.Liste der Objekte, die eine andere Liste betrachten C#
Ich habe zwei Listen:
- Liste der Objekt-Datei (in
System.IO
) - Liste des Zeichenfolge (in Art gebaut)
Die erste Liste enthält x Zahlen von File-Objekten. Die zweite Liste enthält x Zahlen der Zeichenfolge für Erweiterungen, ein Beispiel wäre {".txt",".exe"}
. Ich brauche Dateiobjekte mit der Eigenschaft Erweiterung, die in der zweiten Liste vor anderen Dateiobjekten enthalten sind. Ein detaillierteste Beispiel wäre:
1) Liste hat diese Datei Objekte:
File {Name="1" Extension = ".exe"}
File {Name="2" Extension = ".txt"}
File {Name="3" Extension = ".ini"}
File {Name="4" Extension = ".exe"}
File {Name="5" Extension = ".zip"}
File {Name="6" Extension = ".jpg"}
2) Liste hat diese Werte: { ".txt", "exe"}
Die geordnete Liste wäre:
File {Name="1" Extension =".exe"}
File {Name="2" Extension =".txt"}
File {Name="4" Extension =".exe"}
...Remaining
File
Objects, doesn't matter the position.
LINQ, dass ich versucht habe:
var sorted = files.OrderBy(cus => precedenceExstensions.Contains(cus.Extension));
Zeigen Sie, was Sie in LINQ versucht haben, damit wir Ihnen sagen können, wo Sie schief gelaufen sind. – FrankerZ
Ihre Frage ist im Wesentlichen ein _Satz von Anforderungen_ und macht es daher zu breit. – MickyD
var sortierte = files.OrderBy (cus => precedenceExstensions.Contains (cus.Extension)); Ich dachte daran, das Problem ohne LINQ zu lösen, weil es viel einfacher ist .. Aber ich werde einige temporäre Variablen erstellen müssen, die den Code kompliziert und viel anders als einfach LINQ machen – RandomOverflow