我一直在使用C#中的列表,我想知道如何轻松地排序并不总是具有特定字段值的列表。
例如,如果有一个人员列表,每个人都有一个DateOfBirth
,我想对所有人进行排序,即使是那些没有特定领域的人,但我希望将这些人分开来自原始组(那些有DOB)。
我知道这可能是用LINQ完成的,但我不确定如何处理它。
非常感谢任何帮助!
答案 0 :(得分:15)
我相信这样的事情会完成你想要的事情(使用LINQ),或者可能指向正确的方向:
var sortedList = listOfPeople
.OrderBy(p => p.DateOfBirth.HasValue)
.ThenBy(p => p.DateOfBirth);
如果您要查找有关同一主题的其他信息,可能需要查看以下文章:Sorting Lists with Null Values - Deborah Kurata