【发布时间】:2009-07-16 05:26:11
【问题描述】:
您好!我想使用 LINQ 查询对象列表并按枚举值、字符串值对它们进行排序,然后将列表的其余部分以类似的方式排序 LINQ 新手在这里,所以要温柔。
//CTOR for my class
MyClass(id, "Name Value Here", Enum.EnumValueHere);
我创建了这些对象的列表,并希望对它们进行可变排序,以便所有具有 Enum.EnumValue[X] 的项目首先显示在列表中,按名称排序,然后是所有其他以类似方式排序的项目(almnost就像 SQL 中的结果集联合)
//What I have so far (only sorts the list)
List<MyClass> = (from s in MyClass orderby s.EnumValue, s.NameValue select s).ToList();
任何大师都可以分享一些 LINQ 魔法吗?
谢谢!
【问题讨论】:
-
SQL 每个查询只允许一个 ORDER BY,因此请考虑对整个集合而不是每个 UNION 部分进行排序。有一些技巧可以对 UNION 的每个部分进行不同的排序,但我认为这不是您要问的。
标签: c# linq linq-to-objects