Главная » Просмотр файлов » Г. Шилдт - С#4.0 Полное руководство

Г. Шилдт - С#4.0 Полное руководство (1160795), страница 194

Файл №1160795 Г. Шилдт - С#4.0 Полное руководство (Г. Шилдт - С#4.0 Полное руководство) 194 страницаГ. Шилдт - С#4.0 Полное руководство (1160795) страница 1942019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 194)

Библиатека С(г А поскольку интерфейс 1Со11еспйоп<Т> наследует от интерфейсов 1ЕпцглегаЬ1е и 1ЕпцжегаЬ1е<Т>, то он включает в себя также обобщенную и необобщенную формы метода сесепцте тасос () . Благодаря тому что в интерфейсе 1со11есС1оп<Т> реализуется интерфейс 1ЕппнегаЬ1е<Т>, в нем поддерживаются также методы расширения, определенные в классе ЕпивегаЬ1е. Несмотря на то что методы расширения предназначены главным образом для поддержки (.)Х( ь им можно найти и другое применение, в том числе и в коллекциях. Интерфейс ТЕТв С<Т> В интерфейсе 111яс<т> определяется такое поведение обобщенной коллекции, которое позволяет осуществлять доступ к ее элементам по индексу с отсчетом от нуля. этот интерфейс наследует от интерфейсов 1епцвегаь1е, 1еппвегаь1е<т> и 1Со11есс1оп<т> и поэтому является обобщенным вариантом необобщенного интерфейса 1ейяс.

методы, определенные в интерфейсе 111яс<т>, перечислены в табл. 25.11. В двух из этих методов предусматривается модификация коллекции. Если же коллекция доступна только для чтения или имеет фиксированный размер, то методы 1пяегп () и КевочеАС () генерируют исключение Носепррогпес(ЕхсерС1оп. таблица 25.11. методы, определенные в интерфейсе тейв с<т> Описание Метод Тпг 1пс(ехОЙ(Т 1Сегя) Возвращает индекс первого вхождения элемента 1 сев в вызывающей комекции. Если элемент 1 Сегл не обнаружен, то метод возвращает значение -1 чо1с( 1пяегс (1пс 1пс(ех, Вставляет е вызывающую коллекцию элемент усев по Т 1Сеж) индексу Тпдех чо1г( кевочедс (1пс 1пс)ех) удаляет из вызывающей комекции элемент, расположенный по указанному индексу 1пс)ех Кроме того, в интерфейсе 111яп<Т> определяется индексатор т Снья (Тпг 1пг(ех) ( деш яеш ) который устанавливает или возвращает значение элемента коллекции по указанному индексу 1п г(ех.

Интерфейс 1Шс51опаку<ТКеу, Т7а1це> В интерфейсе 1ПТсп1опагу<ТКеу, Туа1пе> определяется такое поведение обобщенной коллекции, которое позволяет преобразовать уникальные ключи в соответствующие значения. Это означает, что в данном интерфейсе определяется коллекция, в которой хранятся пары "ключ — значение". Интерфейс 1)З1сС1опагу<ТКеу, Туа1ие> наследует от интерфейсов 1еппглегаь1е, 1еппвегаЬ1е<кеуча1пеРадг<ткеу, Туа1це» и 1Со11есг1оп<Кеууа1цеРайг<ТКеу, ТЧа1пе» и поэтому является обобщенным вариантом необобщенного интерфейса Тпйсс1опагу. Методы, объявленные в интерфейсе 1О1ссйопагу<ТКеу, тча1пе>, приведены в табл. 25.12. Все эти методы генерируют исключение Агдивеппн ц11Ехсерг1оп при попытке указать пустой ключ.

Глава 25. Коллекции, перечислитали и итераторы 957 Таблица 25.12. Методы, определенные в интерфейсе ХОТовйопвку<ТКеу, Тттв1це> Описание Метод Добавляет в вызывающую коллекцию пару "ключ- значение", определяемую параметрами )геу и та1 ив. Генерирует исключение дгощвепСЕхсерт1оп, если ключ ]геу уже находится в коллекции Возвращает логическое значение тгпе, если вызывающая коллекция содержит элемент ]геу в качестве ключа, а иначе — логическое значение Та1зе Удаляет из коллекции элемент, ключ которого равен значению Хеу Предпринимает попытку извлечь значение из коллекции по указанному ключу )геу и присвоить зто значение переменной иа1ие.

При удачном исходе операции возвращается логическое значение схче, а иначе — логическое значение Та1зе. Если ключ Хеу не найден, переменной та1ие присваивается значение, выбираемое по умолчанию чохс] Дг]с](ТКеу ]геу, ТЧа1ое та1ие) Ьоо1 Соптатпз(ТКеу Хеу] Ьоо1 Еевоче(ткеу Хеу) Ьоо1 ТхуоеСЧа1ое(ТКеу )геу, огас ТЧа1ое иа1ие) Кроме того, в интерфейсе 1(]1сттопату<ткеу, тча1ие> определены перечисленные ниже свойства. Свойство Описание тсо11есстоп кеуз<ткеу> ( Вес; ] Получает коллекцию ключей 1со11есслоп уа1пез<ТЧа1ое> ( Вес; ] Получает коллекцию значений Интерфейсы 1ЕпщаекаЫе<Т> и 1Епив)екабох<Т> Интерфейсы 1ЕпппетаЬ1е<Т> и 1Епивегагог<Т> являются обобщенными эквивалентами рассмотренных ранее необобщенных интерфейсов 1ЕппвегаЬ1е и ТЕпщлегатог. В них объявляются аналогичные методы и свойства, да и действуют они по тому же принципу.

Разумеется, обобщенные интерфейсы оперируют данными только того типа, который указывается в аргументе типа. В интерфейсе 1еоиыегаь1е<т> метод сесеппыетасог () объявляется следующим образом. твпчеетасох<т> Сетепьххетасог() Этот метод возвращает перечислитель типа Т для коллекции. А это означает, что он возвращает типизированный перечислитель. Следует иметь в виду, что ключи и значения, содержащиеся в коллекции, доступны отдельными списками с помощью свойств Кеуз и Ча1оез.

И наконец, в интерфейсе 1о1сстопагу<ткеу, тча1пе> определяется следующий индексатор. ТЧа1пе СЬТз[ТКеу Хеу] ( дет; зет; Этот индексатор служит для получения и установки значения элемента коллекции, а также для добавления в коллекцию нового элемента. Следует, однако, иметь в виду, что в качестве индекса в данном случае служит ключ элемента, а не сам индекс. 958 Часть И. Библиотека С(т Кроме тото, в интерфейсе 1ЕппвегаЬ1е<Т> определяются два таких же метода, как и в необобшенном его варианте: моченехс () и невес () .

В этом интерфейсе объявляется также обобщенный вариант свойства Спггепп. т сиггепг ( чеьч ) Это свойство возвращает ссылку типа Т на следующий объект. А это означает, что обобщенный вариант свойства Сит ге пп является типизированным. Но между интерфейсами 1Еппвегагог и 1Еппвегагог<Т> имеется одно важное различие: интерфейс 1Еппвегасог<Т> наследует от интерфейса 1Р1ярояаЬ1е, тогда как интерфейс 1Еппве гаго г не наследует от него. В интерфейсе 1РТ яро яаЬ1е определяется метод Р1 яро яе ( ), который служит для освобождения неуправляемых ресурсов.

ПРИМЕЧАНИЕ В интерфейсе 1ЕппвегаЬ1е<т> реализуется также необобщенный интерфейс 1еппвегаЬ1е. Это означает, что в нем поддерживается необобщенный вариант метода ЕеСЕппвегагог () . Кроме того, в интерфейсе 1ЕппвегаЬ1е<т> реализуется необобщенный интерфейс 1Еппвегагог, а СледоватЕльно, в нем поддерживаютея необобщенные варианты свойства спггепс.

Интерфейс 1Соврагег<Т> Интерфейс 1Совра ге г<Т> является обобщенным вариантом рассмотренного ранее интерфейса 1Соврагег. Главное отличие между ними заключается в том, что интерфейс 1Совраге г<Т> обеспечивает типовую безопасность. В нем обобщенный вариант метода Совра ге ( ) объявляется следующим образом. ьпС Совраге(Т х, Т у) В этом методе сравниваются объекты х и у. Он возвращает положительное значение, если значение объекта х больше, чем у объекта у; отрицательное — если значение объекта х меньше, чем у объекта у; и нулевое значение — если сравниваемые значения равны.

Интерфейс 1Ес1иа11ЬТСошрагег<Т> Интерфейс 1ес(па11ьусоврагег<т> полностью соответствует своему необобщенному аналогу Ет)па11СуСоврагег. В нем определяются два следующих метода. Ьоо1 Еяиа1я(т х, Т у) ьпг Сегиаяпоопе(Т оЬУ) Метод Ес(иа1я () должен возвратить логическое значение ггпе, если значения объектов х и у равны. А метод СеснаяЬСос)е () возвращает хеш-код для объекта оЬт1 Если два сравниваемых объекта равны, то их хеш-коды также должны быть одинаковы. Интерфейс 13в Ь<Т> Интерфейс 1эес<Т> был добавлен в версию 4.0 среды .НЕТ Егашетчог)с. Он определяет поведение обобщенной коллекции, реализующей ряд уникальных элементов.

Этот интерфейс наследует от интерфейсов 1ЕппвегаЬ1е, 1ЕппвегаЬ1е<Т>, а также 1Со11есС1оп<Т>. В интерфейсе 1Яеп<т> определен ряд методов, перечисленных Глава 25. Коллекции, перечислители и итераторы 959 Таблица 25.13. Методы, определенные в интерфейсе 1Вес<Т> Описание Метод воза ЕхсерСХТСЬ (1еппвегаЫе<Т> сслег) Удаляет из вызывающего множества те элементы, которые содержатся в другом множестве осЛег После вызова этого метода вызывающее множе- ство содержит пересечение своих элементов с эле- ментами другого множества оСЛег Возвращает логическое значение сгпе, если вы- зывающее множество является правильным под- множеством другого множества ослег, а иначе— логическое значение Та1яе Возвращает логическое значение сгпе, если вы- зывающее множество является правильным над- множеством другого множества оСЛег, а иначе— логическое значение та1зе Возвращает логическое значение сгпе, если вы- зывающее множество является подмножеством другого множества с сЛег, а иначе — логическое значение та1зе Возвращает логическое значение с гпе, если вы- зывающее множество является надмножеством другого множества осЛег, а иначе — логическое значение Та1ве Возвращает логическое значение сгпе, если вы- зывающее множество и другое множество ослег содержат хотя бы один общий элемент, а иначе— логическое значение Са1яе Возвращает логическое значение сгпе, если все элементы вызывающего множества и другого мно- жества осЛег оказываются общими, а иначе — ло- гическое значение Та1ве.

Порядок расположения элементов не имеет значения, а дублирующиеся элементы во другом множестве ослег игнориру- ются После вызова этого метода вызывающее множе- ство будет содержать симметрическую разность своих элементов и элементов другого множества оСЛег После вызова этого метода вызывающее множе- ство будет содержать объединение своих элемен- тов и элементов др гого множества оСЛег чсзо 1пгегвесСХТСЬ (1ЕппвегаЬ1е<т> ссЛег) Ьсс1 1взгсрегзпъяеСОТ(1ЕппвегаЬ1е<Т> оСЛег) ьсо1 1яргсрегяирегзесос(1еппвега Ые<т> сслег) Ьсс1 1взппвеСОТ(1ЕппвегаЫе<Т> оСЛег) Ъсс1 1яяпрегзеСОС(1ЕппвегаЫе<Т> ссЛег) Ьос1 Очег1аря(1ЕпивегаЬ1е<Т> сСЛег) ьсс1 яесеспа1з(1еппвегаь1е<т> сСЛег) чсТС Яуввегг1свхсерСХ>СЬ (1епивегаь1е<т> ссЛег) тсхц Оп1спХТСЬ(1ЕппвегаЫе<Т> ссбег) в табл.

25.13. Обратите внимание на то, что параметры этих методов указываются как относящиеся к типу 1Еппве гаЬ1е<Т>. Это означает, что в качестве второго аргумен- та методу можно передать нечто, отличающееся от объектов типа 1ЯеС<Т>. Но чаще всего оба аргумента оказываются экземплярами объектов типа 1ЯеС<т>. 9бо Часть П. Библиотека С№ Структура КеуЧа1иеРа1х(ТКеу, ТЧа1тзе) В пространстве имен Буятет. со11есттопя. Оепеттс определена структура Кеууа1иера1т<ткеу, ТЧа1се>. Она служит для хранения ключа и его значения и применяется в классах обобщенных коллекций, в которых хранятся пары "ключ— значение", как, например, в классе 01сттопату<ткеу, тча1це>.

Характеристики

Тип файла
DJVU-файл
Размер
7,66 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6390
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее