Ich bin relativ neu zu LINQ
und arbeitet derzeit an einer Abfrage, die Gruppierung und Sortierung kombiniert. Ich werde hier mit einem Beispiel beginnen. Im Prinzip habe ich eine beliebige Folge von Zahlen als Zeichenfolge dargestellt:LINQ-Abfrage, die Gruppierung und Sortierung kombiniert
List<string> sNumbers = new List<string> {"34521", "38450", "138477", "38451", "28384", "13841", "12345"}
Ich brauche all sNumbers
in dieser Liste zu finden, die ein Suchmuster enthalten (etwa „384“) dann die gefilterte Sequenz zurückkehren, so dass die sNumbers
, dass Beginnen Sie mit dem Suchmuster ("384") werden zuerst sortiert, gefolgt von den restlichen sNumbers
, die das Suchmuster irgendwo enthalten. So wird es wie folgt aus (bitte auch in den Gruppen die alphabetische Sortierung bemerken):
{"38450", "38451", "13841", "28384", "138477"}
Hier ist, wie ich begonnen habe:
outputlist = (from n in sNumbers
where n.Contains(searchPattern
select n).ToList();
So, jetzt haben wir alle Zahl, die die Suche enthalten Muster. Und hier stecke ich fest. Ich weiß, dass ich an dieser Stelle die Ergebnisse in zwei Sequenzen "gruppieren" muss. Eine, die mit dem Suchmuster beginnt und andere nicht. Wenden Sie dann eine sekundäre Sortierung in jeder Gruppe alphabetisch an. Wie schreibe ich eine Abfrage, die all das kombiniert?
Sorry, nach dem Lesen durch die Antworten, ich merke, dass ich einen Fehler oben gemacht die richtige Antwort wäre. wie folgt: (Sortieren nach beginnt mit und dann alphabetisch (nicht numerisch) {"38450", "38451", "13841", "138477", "28384"} –