なんとなくはじめました

プログラムとかダイエットとか自転車について語ります。

IComparerインターフェイスを実装した比較方法


CodeIQ|ITエンジニアのための実務スキル評価サービス

 

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