我如何用类对Arraylist进行排序?

Pen*_*uen 0 .net c# visual-studio-2008 visual-studio

我怎么能根据int值在arraylist下面.但是,如果您编译下面的代码错误:无效的操作异常...详细信息:无法比较数组中的两个元素.

namespace SortArray
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList otomobil = new ArrayList();
            otomobil.Add(new Otomobil() { Model = 2000, Marka = "mercedes", Renk = "K?rm?z?" });
            otomobil.Add(new Otomobil() { Model = 2002, Marka = "Opel", Renk = "Ye?il" });
            otomobil.Add(new Otomobil() { Model = 2009, Marka = "Audi", Renk = "Mavi" });

            otomobil.Sort();
            for (int i = 0; i < otomobil.Count; i++)
            {
                Console.WriteLine(otomobil[i].ToString());
            }

        }
    }

    public class Otomobil
    {
        public string Marka { get; set; }
        public int Model { get; set; }
        public string Renk { get; set; }

        public Otomobil()
        {

        }

        public override string ToString()
        {
            return Marka + "(" + Model.ToString() + "-" + Renk + ")";
        }

        public int CompareTo(object obj)
        {
            if (obj == null)
                return 1;


            Otomobil outer = obj as Otomobil;
            if (outer == null)
                throw new ArgumentException();

            if (this.Model > outer.Model)
                return 1;
            else if (this.Model < outer.Model)
                return -1;
            else return 0;
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

STO*_*STO 5

Otomobil:IComparable