Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обобщение ( Класс и интерфейс ) 
:(
    Опции темы
Real
Дата 8.4.2008, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 507
Регистрация: 9.11.2007

Репутация: 1
Всего: -1



6.    Реализовать обобщенный класс «массив», который имеет метод для сортировки массива. Тип элементов массива – параметр, должен быть потомком интерфейса IComparable<T>.

Код

using System;


namespace ConsoleApplication8
{
    class Massiv:IComparable
    {
        int array;
        public Massiv(int _array)
        {
            array = _array;
        }
     

      
        int IComparable.CompareTo(object rightobj)
        {
            if(!(rightobj is Massiv))
                throw new ArgumentException("+++++");
            Massiv objMassiv=(Massiv)rightobj;
            return CompareTo(objMassiv);
        }
        public int CompareTo(Massiv rightobj)
        {
            return array.CompareTo(rightobj.array);
        }
            
        public static explicit operator Massiv(int value)
        {
            return new Massiv(value);
        }
        public override string ToString()
        {
            return array.ToString();
        }

        

        
    }
    class Program
    {
        static void Main(string[] args)
        {
            Massiv[] massiv = new Massiv[10];
            Random ramdom = new Random();
            for (int i = 0; i < 10; i++)
            {
                massiv[i] = (Massiv)ramdom.Next(100);
            }
            for (int i = 0; i < 10; i++)
            {
                Console.Write(massiv[i] + " ");
            }

            Console.ReadLine();
            Array.Sort(massiv);
            for (int i = 0; i < 10; i++)
            {
                Console.Write(massiv[i] + " ");
            }
            Console.ReadLine();
   
        }
    }
}

Нада сделать обощоный класс, который наследует обобщеный интерфейс(создать свой интерфейс )?

PM   Вверх
Rififi
Дата 8.4.2008, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 5
Всего: 36



Real, 
Код

public class Massiv<T> where T : IComparable
{
    ...
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.