2016-08-17 12 views
-3

リストには多数の数字が入っています。しかし、文字は追加文字のために文字列として保存されます。C#とEntity Frameworkのソート文字列

1b 
a1 
10 
15 
2a 
20 
21 
250 
3 
34 
368 

コード:

私はと呼ばれる文字列の列を含むリストを持っているjointNumber私のデータは、このようなものです

List<ViewTestPackageHistorySheet> lstTestPackageHistorySheets = 
     _reportTestPackageHistorySheetRepository.ShowReport(Id) 
     .OrderBy(i => new { i.LineNumber, i.JointNumber}).ToList(); 

しかし、それは動作しません。どうして?あなたが私がlinenumberを意味する最初の列が2つの列に基づいて並べ替えることがわかりますが、jointnumberに基づいてデータをソートしません。

+0

'new {i.LineNumber、i.JointNumber}' < - それ自体はソートできません。あなたが望むものは 'OrderBy(i => i.LineNumber).ThenBy(i => i.JointNumber)' – Igor

+0

です。あなたが探しているものは「自然なソート」と呼ばれています。それら。 –

+0

「文字が追加されたために文字列として保存されました」とはどういう意味ですか?あなたのデータに見えるものの例をいくつか追加できますか? – RoadieRich

答えて

0

コードを一切見ずに、あなたのリストがアルファベット順になっていることがわかります。文字列を数値データ型に変換しましたか?

関連する問題