Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

C#. Метод Sort для контейнера List. Помогите разобраться как работает данный код...

77K
15 апреля 2012 года
brembo
7 / / 14.03.2012
В общем мне необходимо разобраться как работает данный код, что такое Item1, Item2, откуда они беруться, как происходит сама сортировка.

 
Код:
private void button7_Click(object sender, EventArgs e)
            //Сортировка элементов
        {
            Vector1.Sort(delegate(MyClassPolymorph Item1, MyClassPolymorph Item2)
            {
                return Item1.Info.CompareTo(Item2.Info);
            });
            binding1.ResetBindings(false);
        }
445
15 апреля 2012 года
Charley
176 / / 16.08.2011
Покажите тело метода sort
77K
15 апреля 2012 года
brembo
7 / / 14.03.2012
Гдеж его взять это стандартный метод контейнера List
62K
15 апреля 2012 года
Cyberatino
24 / / 06.03.2012
Попробую ответить.

В первую очередь вам надо понять, что вам не надо знать как на самом деле работает функция Sort.
Важно, что она требует некий предикат в качестве аргумента. Предикатом в данном случае является анонимный метод, заключающийся в конструкции delegate{ }.

Ваш вектор Vector1 состоит из объектов класса MyClassPolymorph. Каждый экземпляр класса ItemX имеет член Info, который является типом System.String, что в свою очередь очевидно из наличия метода CompareTo. Сравнивая 2 строки, этот метод возвращает некий результат . Он может иметь значение, которое сообщает о том, какая из сравнимаемых строк Больше. В зависимости от полученного результата сортировщик принимает решение о том, как именно должны быть упорядочены объекты. Иными словами предикат - это критерий, по которому вы говорите сортировщику, как должны быть упорядочены элементы контейнера Vector1.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог