Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

Eugene Ostroukhov

 
Название:

Сортировка экземпляров собственных типов в ArrayList`e с использованием IComparer.

Дата: 12 September 2005
Описание: Создавая свои типы, с дальнейшим использованием их как единицу данных, часто требуется сортировка коллекции (массива) таких типов. В данном примере показано, как можно сортировать коллекцию типов Film, находящуюся в ArrayList, с использованием интерфейса IComparer. 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=162]Сортировка экземпляров собственных типов в ArrayList`e с использованием IComparer.[/CODEPOST]
Оценка: Проголосовало 7 посетителей, средняя оценка 4.29
Оценить:
  1 // cоздадим тип для описания фильмов c некоторыми полями
  2 // (свойства не создаю, чтобы не загрмождать нужный код):
  3 public class Film
  4 {
  5     public string Title;
  6     public string Year;
  7     public string Genre;
  8     public string Description;
  9     // ...
 10 }
 11 
 12 // теперь создадим свой класс-компаратор, унаследованный от IComparer
 13 // и сравнивающий наши фильмы, например, по названию:
 14 public class TitleComparer : IComparer
 15 {
 16     public int Compare(Object x, Object y)
 17     {
 18         return string.Compare((x as Film).Title, (y as Film).Title);
 19     }
 20 }
 21 
 22 // как использовать:
 23 public class SomeClass
 24 {
 25     ArrayList list = new ArrayList();
 26     // предположим, что этот ArrayList уже заполнен
 27 
 28     public void Sort()
 29     {
 30         // создаём экземпляр нашего класса-компаратора
 31         TitleComparer comp = new TitleComparer();
 32         // сортируем, следуя установке нашего класса-компаратора
 33         list.Sort(comp);                        
 34         // получаем список фильмов отсортированных по названию
 35     }
 36 }
 37 
 38 
Вернуться к списку исходников в категории Общие вопросы программирования на ASP.NET
 
Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта