示例#1
0
        public static void Demo()
        {
            SomeValue val1 = new SomeValue(1);
            SomeValue val2 = new SomeValue(2);

            Console.WriteLine(val1.CompareTo(val2));
        }
示例#2
0
        // можно так:

        //public int CompareTo(object obj)
        //{
        //    if (obj is SomeValue)
        //    {
        //        SomeValue other = (SomeValue)obj;

        //        return n - other.n;
        //    }
        //    else
        //    {
        //        throw new ArgumentException("Wrong Type!");
        //    }
        //}

        // но можно и так, исключив упаковку в вызове CompareTo
        // (это можно увидеть в ILDASM)
        //------------------------------------------------
        int IComparable.CompareTo(object obj)
        {
            if (obj is SomeValue)
            {
                SomeValue other = (SomeValue)obj;

                return(n - other.n);
            }
            else
            {
                throw new ArgumentException("Wrong Type!");
            }
        }
示例#3
0
 public int CompareTo(SomeValue other)
 {
     return(n - other.n);
 }