我有一个清单:
List<User> users = getUsers();
Run Code Online (Sandbox Code Playgroud)
User对象有2个我想要排序的属性:
IsActive
Name
Run Code Online (Sandbox Code Playgroud)
按IsActive排序第一个排序,然后按名称排序.
因此,活动用户将位于列表的顶部,按名称排序.然后将列出所有活跃用户(按字母顺序排序).
这是可能的还是我必须打破列表然后合并它们?
此列表中的项目少于100个,因此性能不是真正的问题.
Mir*_*Mir 12
只需使用OrderBy和ThenBy.感谢Tim Schmelter的评论.如果您使用OrderBy,您将获得IsActive == false列表顶部的用户.
var users = getUsers().
OrderByDescending(u => u.IsActive).
ThenBy(u => u.Name).
ToList();
Run Code Online (Sandbox Code Playgroud)
请记住添加到您的using指令:
using System.Linq;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1031 次 |
| 最近记录: |