C# List.Sort 用法 对象排序

比如说有一个student类,有两个字段a分数b年龄,需求根据a的大小进去排序,如果a相等b大的超前List<student>mlist=newList<student>... 比如说有一个student类,有两个字段a分数 b年龄,
需求根据a的大小进去排序,如果a相等b大的超前
List<student> mlist = new List<student>() ;
mlist.Sort((left, right) =>
{
student l = (student)left;
student r = (student)right;

if(l.a ==null || r.a == null )
return -1;
//首先比较第一个字段.
if (l.a > r.a)
{
return 1;
}
else if (l.a == r.a)//相等则比较第2个字段.
{
if (l.b > r.b)
return 1;
else if (l.b == r.b)
return -1;//0
else
return -1;
}
else
{
return -1;
}

});
我的这个排序不对是什么原因
展开
 我来答
foreverice525
2015-02-02 · 超过19用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:24.9万
展开全部
用orderBy试试:
mlist.OrderBy(su => su.a).ThenBy(su=> su.b);
追问
我不要 Linq的方案,这个方案
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式