如何根据自己的规则订购列表
本文关键字:列表 规则 自己的 何根 | 更新日期: 2023-09-27 18:29:34
我有一个LINQ查询:
IEnumerable<MyScheda> schede = from MyScheda scheda in new MySchede()
select scheda;
我想根据字段scheda.Note
订购这个列表,它可以包含周六、周一、周日等等
所以,如果你愿意的话,我想像往常一样订购。我该怎么做?
您可以将IEnumerable.OrderBy
扩展方法与自己的比较器一起使用
IEnumerable<MyScheda> schede = (from MyScheda scheda in new MySchede()
select scheda).OrderBy(s => s.Note, new DaysOfWeekComparer());
当然,您之前必须实现DaysOfWeekComparer()
。
您可以使用orderby:请求订购
List<String> names=new List<String>();
...
foreach(String name in from String s in names orderby s.Length select s)
{
...
}
在你的情况下,我相信你会想使用:
orderby scheda.Note
当然,这是假设可以比较Note的类型进行排序。如果不能直接比较,您需要编写一些代码,将"Note类型"转换为可排序类型,然后使用它而不是直接使用Note,如下所示:
int NoteIndexer(NoteType n);
IEnumerable<MyScheda> schede = from MyScheda scheda in new MySchede()
orderby NoteIndexer(scheda.Note)
select scheda;