C#和实体框架中的排序字符串
我有一个清单,里面有很多数字。但是由于一些额外的字母,它们被保存为字符串 我有一个列表,其中包含一个名为C#和实体框架中的排序字符串,c#,entity-framework,sorting,C#,Entity Framework,Sorting,我有一个清单,里面有很多数字。但是由于一些额外的字母,它们被保存为字符串 我有一个列表,其中包含一个名为jointNumber的字符串列。我的数据如下: 1b a1 10 15 2a 20 21 250 3 34 368 代码: List<ViewTestPackageHistorySheet> lstTestPackageHistorySheets = _reportTestPackageHistorySheetRepository.ShowReport(Id)
jointNumber
的字符串列。我的数据如下:
1b
a1
10
15
2a
20
21
250
3
34
368
代码:
List<ViewTestPackageHistorySheet> lstTestPackageHistorySheets =
_reportTestPackageHistorySheetRepository.ShowReport(Id)
.OrderBy(i => new { i.LineNumber, i.JointNumber}).ToList();
列出LSTestPackageHistorySheets=
_reportTestPackageHistorySheetRepository.ShowReport(Id)
.OrderBy(i=>new{i.LineNumber,i.JointNumber}).ToList();
但它不起作用。为什么?如您所见,我根据两列对其进行排序第一列有效,我的意思是
行号
,但它不会根据连接号
对数据进行排序,我可以看到您的列表已经按字母顺序排列。你把字符串转换成数字数据类型了吗?new{i.LineNumber,i.JointNumber}
i.LineNumber)。然后通过(i=>i.JointNumber)你要找的是所谓的“自然排序”,如果你用谷歌搜索的话,C#已经有了这种方法的实现。你是什么意思,“由于一些额外的字母而保存为字符串”?您可以添加一些示例,说明您的数据中是什么样子的吗?您希望它们按什么顺序排列?我的数据中有一些字母