根据成绩对学员进行排序,首先数学成绩 如果数学成绩相同根据语文成绩如果语文成绩相同在根据英语成绩排序
Student s1 = new Student(“王一”, 87, 76, 65);
Student s2 = new Student(“王二”,88 , 76 , 67);
Student s3 = new Student(“王三”, 87,76 , 68);
List list = new List();
list.Add(s1);
list.Add(s2);
list.Add(s3);
list.Sort();
foreach (Student stu in list)
{
Console.WriteLine(stu.ToString());
}
}
}
class Student:IComparable
{
int Cscore;
int Escore;
int Mscore;
string _name;
public Student(string name,int mscore , int cscore , int escore)
{
this._name = name;
Cscore = cscore;
Escore = escore;
Mscore = mscore;
}
public override string ToString()
{
return this._name+" "+this.Mscore + " " + this.Cscore + " " + this.Escore;
}
//优先次序:数学 语文 英语
public int CompareTo(Student s)
{
if (this.Mscore<s.Mscore)
{
return 1;
}
else if (this.Mscore > s.Mscore)
{
return -1;
}else
{
if (this.Cscore < s.Cscore)
{
return 1;
}
else if (this.Cscore > s.Cscore)
{
return -1;
}
else
{
if (this.Escore < s.Escore)
{
return 1;
}
else if (this.Escore > s.Escore)
{
return -1;
}
else
{
return 0;
}
}
}
}
}
}