3
List<MyObject> objects = (from a in alist
join b in blist on a.ID equals b.ID
where a.Number != 4
orderby b.Rank, a.CustomField
select a).ToList();
这是我的查询,我想为CustomField属性使用自定义比较器。有没有办法做到这一点在两个领域的秩序?Linq order by两列自定义比较器排序
我能够做到这一点:
List<MyObject> objects = objects.OrderBy(a => a.CustomField, new MyComparer<object>())
,但我需要它由两个s.Rank和a.CustomField进行排序。通过Rank
场与自定义比较
List<MyObject> objects = objects
.OrderBy(a => a.Rank)
.ThenBy(a =>
a.CustomField, new MyComparer<object>()
).ToList();
它首先排序,然后通过CustomField
:
我会选择你作为正确答案,因为你是第一个,但我也用使用而不是第二排序依据ThenBy亚历克斯的建议。 – morsanu 2010-10-08 14:23:32
对不起,我_did_的意思是'.OrderBy()。ThenBy()'但错误输入了示例代码。必须看起来很奇怪,才能在解释中看到类型,但在示例中没有使用它。 :) – 2010-10-08 15:35:04