Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2012, 15:02   #1
Николая Ленин
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 39
По умолчанию Делегат СompareDelegate<T>

Здравствуйте! Помогите разобраться с использованием делегата. У меня задача, в ней есть класс делегат
Цитата:
Код:
public delegate int CompareDelegate<T>(T a, T b);
и есть класс с обобщенной сортировкой, параметром которой является этот делегат
Цитата:
Код:
public class SortList<T>
    {
        public void Sort<T>(T[] array, CompareDelegate<T> compare)
        {
            for (int i = 0; i < array.Length-1; i++)
                for (int j = array.Length - 1; j > i; j--) 
                    if (compare(array[j - 1], array[j]) > 0) 
                    {
                        T t = array[j - 1]; 
                        array[j - 1] = array[j];
                        array[j] = t;
                    }
        }
    }
Помогите с вызовом этого метода. Как он должен осуществляться? Заранее спасибо!
Николая Ленин вне форума Ответить с цитированием
Старый 13.04.2012, 15:32   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Николая Ленин

Помогите с вызовом этого метода. Как он должен осуществляться? Заранее спасибо!

Код:
int MyCompare(int a, int b)
{
	return a - b;
}

var arr = new [] { ... };
Sort(arr, MyCompare);

или просто

Sort(arr, (a,b) => a - b);
Rififi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Делегат, интерфейс, событие. pa6kevi4 Общие вопросы .NET 1 25.05.2010 19:26