我有一个名为jobList的自定义对象列表。该列表有很多字段,但我想按两个字段进行排序,即FolderID和JobName。名单如下:订购清单<T>
job.FolderID = 3
job.JobName = "oper01_quick"
job.FolderID = 3
Job.JobName = "oper02_quick"
job.FolderID = 1
job.JobName = "min01_selfie"
job.FolderID = 2
job.JobName = "max01_experion"
job.FolderID = 2
job.JobName = "max02_experion"
我要对此列表进行排序,以便它看起来像这样:
job.FolderID = 1
job.JobName = "min01_selfie"
job.FolderID = 2
job.JobName = "max01_experion"
job.FolderID = 2
job.JobName = "max02_experion"
job.FolderID = 3
job.JobName = "oper01_quick"
job.FolderID = 3
Job.JobName = "oper02_quick"
而且我想,如果我这样做LINQ排序依据,ThenBy:
jobList.OrderBy(j => j.FolderID).ThenBy(j => j.JobName);
它会做到这一点。但事实并非如此。它使订单看起来像这样:
job.FolderID = 1
job.JobName = "min01_selfie"
job.FolderID = 2
job.JobName = "max01_experion"
job.FolderID = 3
job.JobName = "oper01_quick"
job.FolderID = 2
job.JobName = "max02_experion"
job.FolderID = 3
Job.JobName = "oper02_quick"
任何人都可以帮我正确地订购清单吗?
感谢,
Chewdoggie
我们可以假设'FolderID'是'int'和'JobName'是'string'? –
您可以分享实际的代码,而不是只是在代码块中写出某种东西的列表? –
你给OrderBy()。ThenBy'调用了什么结果吗?这些方法没有适当的排序。他们使用排序的项目创建新的集合。 – MarcinJuraszek