C#中List按特定字段排序

  有一个类,如Student,有学号、数学成绩、语文成绩,

存在List列表中,要将List按数学成绩排序,怎么办呢?

List<Student> scores=GetScores();

scores.Sort( (l,r)=>l.MathScore.CompareTo(r.MathScore) );//数学成绩升序

scores.Sort( (l,r)=>r.MathScore.CompareTo(l.MathScore) );//数学成绩降序

Sort中的是一个lambda表达式