Ich habe eine Liste mit vielen Zahlen drin. Aber sie werden als Zeichenfolgen wegen einiger zusätzlicher Buchstaben gespeichert.Sortierung String in C# und Entity Framework
ich eine Liste haben, die eine String-Spalte enthält genannt jointNumber
meine Daten ist wie folgt:
1b
a1
10
15
2a
20
21
250
3
34
368
Code:
List<ViewTestPackageHistorySheet> lstTestPackageHistorySheets =
_reportTestPackageHistorySheetRepository.ShowReport(Id)
.OrderBy(i => new { i.LineNumber, i.JointNumber}).ToList();
Aber es funktioniert nicht. Warum? Wie Sie sehen können, sortiere ich es basierend auf zwei Spalten, die erste Spalte funktioniert ich meine linenumber
, aber es sortiert nicht die Daten basierend auf jointnumber
.
'neu {i.LineNumber, i.JointNumber}' <- das ist in sich nicht sortierbar. Was Sie wollen, ist 'OrderBy (i => i.LineNumber) .ThenBy (i => i.JointNumber)' – Igor
Was Sie suchen, heißt "natürliche Sortierung", gibt es vorhandene Implementierungen von diesem für C#, wenn Sie googeln Sie. –
Was meinen Sie, "als Strings wegen einiger zusätzlicher Buchstaben gespeichert"? Können Sie einige Beispiele hinzufügen, wie das in Ihren Daten aussieht? – RoadieRich