ВУЗ:
Составители:
Рубрика:
111
полученными из коллекции, требуется выполнять явное преобразование
их типов (кастинг) с базового типа Object в требуемый тип. Это не
только утомительная и приводящая к ошибкам работа, но такие опера-
ции также влияют на эффективность работы программы.
Используя обобщенные классы можно создавать строго типизиро-
ванные коллекции для любого класса, в том числе и пользовательского.
Это упрощает разработку программ и гарантирует использование нуж-
ного типа, а также может улучшить эффективность их выполнения.
Обобщенные классы предоставляют все преимущества строго ти-
пизированных коллекций и могут работать с любыми используемыми
типами. В табл. 7.1 перечислены наиболее используемые классы обоб-
щенных коллекций и соответствующие им коллекций обычных типов.
Таблица 7.1.
Некоторые обобщенные классы коллекций
Обобщенный класс
Соответствующие не обобщенные коллекции
List<T>
ArrayList
Dictionary<T,U>
Hashtable, StringDictionary
SortedList<T,U>
SortedList
Queue<T>
Queue
Stack<T>
Stack
В показанном ниже примере создается обобщенная коллекция
SortedList<T,U> используя строки (string) в качестве ключей и це-
лые числа в качестве значений:
SortedList<string, int> sl = new
SortedList<string, int>();
sl.Add("One", 1);
sl.Add("Two", 2);
sl.Add("Three", 3);
foreach (int i in sl.Values)
Console.Write(i.ToString() + " ");
Результат выполнения примера:
1 3 2
Обобщенные коллекции можно также инициализировать при соз-
дании, как и обычные коллекции. Например:
List < int > myInts =
new List < int > () { 5, 10, 15, 20, 25 };
В этом случае, все числа будут добавлены к коллекции, как если бы ис-
пользовался метод Add().
7.4.1. Использование пользовательских классов
Обобщенные коллекции также могут работать и с пользователь-
скими классами. Рассмотрим пример описания класса:
Страницы
- « первая
- ‹ предыдущая
- …
- 109
- 110
- 111
- 112
- 113
- …
- следующая ›
- последняя »
