我有一个列表,我想使用Linq(order by method)通过“sortOrder”对其进行排序,我列表中的一些实体的“sortOrder”属性为空值,我想用这个规则对它们进行排序:每个在“sortOrder”属性中有null值的实体,将在我的列表的最后一个索引中(我不关心有多少实体可以有null值,我也不关心在具有null值的实体之间进行排序)
这是我的代码:
myList.Select(Map).OrderBy(a => a.SortOrder).ToList();
字符串
这就是结果:
[
{
"SortOrder": null
},
{
"SortOrder" : 2
}
]
型
但这就是我想要的,我不知道如何实现它:
[
{
"SortOrder": 2
},
{
"SortOrder" : null
}
]
型
2条答案
按热度按时间n9vozmp41#
你可以使用下面的技巧来做到这一点。
字符串
cvxl0en22#
虽然@VivekNuna的答案很有效,而且可能是最简单的,但更习惯的方法是使用自定义比较器。
个字符
或者对同一个列表进行排序
型
您也可以为
int?
创建比较器型
然后做
型