IComparerインターフェイスを実装した比較方法
ICOmparerインターフェースを使用した実装についてやってみた。
class Person : IComparable<Person>
{
string name;
int scoreOfTest;
int age;
public Person(String name,int scoreOfTest, int age)
{
this.name = name;
this.scoreOfTest = scoreOfTest;
this.age = age;
}
public int CompareTo(Person other)
{
return -(this.scoreOfTest - other.scoreOfTest);
}
}
class Program
{
static void Main(string[] args)
{
List<Person> list = new List<Person>();
list.Add(new Person("Aaron", 60, 18));
list.Add(new Person("Barnaby", 54, 12));
list.Add(new Person("Cody", 84, 8));
list.Add(new Person("Deanna", 72, 10));
list.Add(new Person("Emily", 92, 15));
list.Sort();
foreach (Person ps in list)
{
ps.show();
}
}
}
結果
Emily Cody Deanna Aaron Barnaby