鉴于以下课程:
public class Room
{
public List<Person> People {get;set;}
public string RoomType {get;set;}
}
public class Person
{
public bool IsLead{get;set;}
}既然我有一张房间清单,里面有一张人的名单,我怎么能给他们下订单呢?
请注意,只有一个人是领导。
示例数据:
命令:
发布于 2014-02-14 16:21:04
下面是一种简单、有效的方法:
var orderedRooms = rooms
.OrderBy(room => !room.People.Any(person => person.IsLead)) // room with lead will be first
.GroupBy(room => room.RoomType) // RoomType with lead will be first
.SelectMany(group => group); // flatten the list of groups into one list此查询满足以下要求:
但是,它并不按字母顺序对房间类型进行排序。
https://stackoverflow.com/questions/21782230
复制相似问题