ВУЗ:
Составители:
Рубрика:
109
foreach (DictionaryEntry de in sl)
Console.WriteLine(de.Value);
Отметим, что SortedList является массивом объектов типа
DictionaryEntry. Для доступа к ключу этих объектов используется
свойство DictionaryEntry.Key, а для получения значения – Dictio-
naryEntry.
Можно также получить значения коллекций напрямую с помощью
ключа SortedList[ключ]. Ниже показан пример для получения опи-
сания объекта с ключом “Queue”. Можно также обратиться к элементам
коллекции с использованием индекса с помощью метода GetByIn-
dex(n):
Console.WriteLine(sl["Queue"]);
Console.WriteLine(sl.GetByIndex(0));
7.3. Универсальные классы
Под универсальностью (generality) понимается способность класса
объявлять используемые им типы как параметры. Класс с параметрами,
задающими типы, называется универсальным классом (generic class).
Объявить класс C# универсальным просто: для этого достаточно
указать в объявлении класса, какие из используемых им типов являются
параметрами. Список типовых параметров класса, заключенный в уг-
ловые скобки, добавляется к имени класса:
class MyClass<T1, ... Tn> {...}
Как и всякие формальные параметры, Ti являются именами
(идентификаторами). В описании класса эти имена могут задавать типы
некоторых полей класса, типы параметров и возвращаемых значений
методов класса. В некоторый момент формальные имена типов будут
заменены фактическими параметрами, представляющими уже конкрет-
ные типы – имена встроенных классов, классов библиотеки FCL, клас-
сов, определенных пользователем.
В языке C# универсальными могут быть как классы, так и другие
пользовательские типы: интерфейсы, структуры, делегаты, события.
Класс с универсальными методами
Специальным частным случаем универсального класса является
класс, не объявляющий сам параметров, но разрешающий делать это
своим методам. Рассмотрим универсальность этого частного случая.
Вот как выглядит класс, содержащий универсальный метод swap:
class Change {
static public void Swap<T>(ref T x1, ref T x2){
T temp;
temp = x1; x1 = x2; x2 = temp;
Страницы
- « первая
- ‹ предыдущая
- …
- 107
- 108
- 109
- 110
- 111
- …
- следующая ›
- последняя »
