示例#1
0
        // implementation of interface 'IComparable'
        public int CompareTo(Object o)
        {
            Number n = (Number)o;

            if (this.Count < n.Count)
            {
                return(-1);
            }
            if (this.Count > n.Count)
            {
                return(1);
            }

            for (int i = this.Count - 1; i >= 0; i--)
            {
                Digit d1 = (Digit)this.digits[i];
                Digit d2 = (Digit)n.digits[i];

                if (!d1.Equals(d2))
                {
                    return(d1.CompareTo(d2));
                }
            }

            return(0);
        }
    public static void Test10()
    {
        Digit d1 = new Digit(9);

        Console.WriteLine(d1);

        int n = d1.Value;

        Console.WriteLine(n);

        Digit d2 = new Digit(8);

        Console.WriteLine(d2);
        Console.WriteLine(d1 == d2);

        Digit d3 = (Digit)d1.Clone();

        Console.WriteLine(d3);
        Console.WriteLine(d1 == d3);

        Console.WriteLine(d1.CompareTo(d2));

        Digit d4 = (Digit)d1.Clone();

        Console.WriteLine(d1.Equals(d4));
        Console.WriteLine(d1 == d4);

        Digit d5 = new Digit(5);
        char  ch = d5;

        Console.WriteLine("ch: {0}", ch);
    }