예제 #1
0
        static void Main()
        {
            const int n = 7;

            StringBase[] mas = new StringBase[n];           // Создание массива объектов базового типа Строка

            mas[0] = new StringDecimal(150);                // Заполнение вперемешку объектами как базового так и производного типов
            mas[1] = new StringDecimal(" +125 ");           // тут заполняем объектами типа Десятичная строка
            mas[2] = new StringDecimal("-25");
            mas[3] = new StringDecimal('2');
            mas[4] = new StringDecimal("qwerty");
            mas[5] = new StringBase("qwerty");              // тут добавим несколько объектов типа Строка
            mas[6] = new StringBase("abc");

            Console.WriteLine("\nДемонстрация операций над строками:");
            Console.WriteLine("\"{0}\" = \"{1}\"  \t is {2}", mas[0], mas[1], mas[0] == mas[1]);
            Console.WriteLine("\"{0}\" != \"{1}\"  \t is {2}", mas[2], mas[4], mas[2] != mas[4]);
            Console.WriteLine("\"{0}\" > \"{1}\"  \t is {2}", mas[0], mas[1], mas[0] > mas[1]);
            Console.WriteLine("\"{0}\" < \"{1}\"  \t is {2}", mas[2], mas[3], mas[2] < mas[3]);
            Console.WriteLine("\"{0}\" + \"{1}\"  \t = {2}", mas[0], mas[1], (mas[0] + mas[1]));
            Console.WriteLine("\"{0}\" - \"{1}\"  \t = {2}", mas[0], mas[1], (mas[0] - mas[1]));
            Console.WriteLine("\"{0}\" + \"{1}\"  \t = {2}", mas[5], mas[6], (mas[5] + mas[6]));
            Console.WriteLine("\"{0}\" + \"{1}\"  \t = {2}", mas[0], mas[6], (mas[0] + mas[6]));

            Console.WriteLine("\nДлина строки \"{0}\" = {1}", mas[1], mas[1].Length());
            Console.WriteLine("Cтрока до очистки \"{0}\"", mas[6]);
            mas[6].Clear();
            Console.WriteLine("Cтрока после очистки \"{0}\"", mas[6]);

            PrintArray("\nИсходный массив", mas);
            Array.Sort(mas);                                // сортировка массива (демонстрация работы метода CompareTo)
            PrintArray("Отсортированный массив", mas);
        }
예제 #2
0
        override public bool Equals(object obj)             // проверяет равенство строк по значению
        {
            if (obj == null || GetType() != obj.GetType())
            {
                return(false);
            }
            StringBase temp = (StringBase)obj;

            return(this.value == temp.value);
        }
예제 #3
0
        virtual public object Addition(object obj)          // Прибавляет к строке другую
        {
            StringBase temp = (StringBase)obj;

            return(new StringBase(this.value + temp.value));
        }
예제 #4
0
        virtual public int CompareTo(object obj)            // Сравнивает строку по значению с другой в алфавитном порядке
        {
            StringBase temp = (StringBase)obj;

            return(this.value.CompareTo(temp.value));
        }