オブジェクト配列のソート方法

3903 ワード

class Program

    {

       class Data : IComparable

       {

        public string name;  // public, 

        public int age;

        public void input()

        {

            Console.WriteLine(" ");

            name = Console.ReadLine();

            Console.WriteLine(" ");

            age = Convert.ToInt32(Console.ReadLine());

        }

        public int CompareTo(object obj)

        { Data mc = (Data)obj;

         if (this.age < mc.age) return -1;

         if (this.age>mc.age) return 1;

         return 0;



        }



      }

     

    static void Main(string[] args)

    {

            int i = 0;

            Data[] data = new Data[3];

            for (i = 0; i < 3; i++)

                data[i] = new Data();

            for (i = 0; i < 3; i++)

                data[i].input();

            Array.Sort(data);

            for (i = 0; i < 3; i++)

            {

                Console.Write(" :" + data[i].name);

                Console.WriteLine(" :" + data[i].age);

            }

           

            Console.ReadLine();

      }



    }