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

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

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

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

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

Е1пд. Рага11е1ЕпивтегаЬ1е, метод АэдпегуаЬ1е ()— в классе Буэсегл. Е1пд. СаегуаЬ1е, а методы Саас () и Оттуре () — в классе Бувсеа. Ьйпд. ЕпшпегаЬ1е. Эти методы предназначены главным образом для поддержки ЕПЩ, хотя их можно применять и в других целях. Интерфейс 1ЫаТ В интерфейсе 1Е1э Т объявляется такое поведение необобщенной коллекции, которое позволяет осуществлять доступ к ее элементам по индексу с отсчетом от нуля. Этот интерфейс наследует от интерфейсов 1Со11есТТоп и 1ЕпцтегаЬ1е. Помимо методов, определенных в этих интерфейсах, в интерфейсе 1Е1эТ определяется ряд собственных методов.

Все эти методы сведены в табл. 25.2. В некоторых из них предусматривается модификация коллекции. Если же коллекция доступна только для чтения или имеет фиксированный размер, то в этих методах генерируется исключение НоТБпррогсес(ЕхсерТ1оп. Таблица 25.2. Методы, определенные в интерфейсе 1Е1вТ Описание Метод Рпс АБО(оЬбесТ тга1ие) Добавляет объект «а1ие в вызывающую коллекцию. Возвращает индекс, по которому этот объект сохраняется чогс( С1еаг() Удаляет все элементы из вызывающей коллекции Ьоо1 Сопта1пэ (оЬ1есТ ка1ие) Возвращает логическое значение тгое, если вызывающая коллекция содержит объект иа1ие, а иначе — логическое значение га1эе 928 Часть (1. библиотека С(г Окончание табл. 25.2 Метод Описание Возвращает индекс объекта ка1ие, если згот объект содержится в вызывающей комекции.

Если же объект оа1ие не обнаружен, то метод возвращает значение -1 Вставляет в вызывающую комекцию объект ка1се по индексу дпс)ех. Элементы, находившиеся до этого по индексу дпдех и дальше, смещаются вперед, чтобы освободить место для вставляемого объекта оа1ие Удаляет первое вхождение объекта оа1ие в вызывающей комекции. Элементы, находившиеся до этого за удаленным элементом, смещаются назад, чтобы устранить образовавшийся "пробел" Удаляет из вызывающей комекции объект, расположенный по указанному индексу дпс(ех. Элементы, находившиеся до этого за удаленным элементом, смещаются назад, чтобы устранить образовавшийся "пробел" дпг 1пс)ехОЙ (ЬЬ) ест оа1не) чо1с( 1пзегг (1пг успех, оЬ]ест ка1ие) но1г( Веточе(оЬ2есс оа1ие) чотб НеточеАС(ьпс 1пе(ех) Объекты добавляются в коллекцию типа 111зс вызовом метода Ас)е( () .

Обратите внимание на то, что метод Аг)с) ( ) принимает аргумент типа оЬб ес Ь. А поскольку оЬб ест является базовым классом для всех типов, то в необобщенной коллекции может быть сохранен объект любого типа, включая и типы значений, в силу автоматической упаковки и распаковки. Для удаления элемента из коллекции служат методы Аепоче () и неыочеАЬ () . В часгносчи, метод Аеточе ( ) удаляет указанный объект, а метод Аевоъ.едс ( ) удаляет объект по указанному индексу.

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

С этой целью обычно вызывается метод Ас(с( ( ) . Как только элемент будет добавлен в коллекцию, он станет доступным посредством индексатора. Если коллекция имеет фиксированный размер, то свойство 1эк1хес(Бахе содержит логическое значение Ь где. Это означает, что в такую коллекцию нельзя ни вставлять элементы, ни удалять их из нее. Если же коллекция доступна только для чтения, то свойство 1 з Аеас(Оп 1 у содержит логическое значение Ь гпе. Это означает, что содержимое такой коллекции не подлежит изменению. Кроме того, в интерфейсе 1ьдэ с определяется следующий индексатор.

Глава 25. Камекции, яеречислители и итераторы 929 Интерфейс 1РзсЬ1опаку Таблица 25.3. Методы, определенные в интерфейсе 1РЕоцйопаку Метод Описание Добавляет в вызывающую коллекцию пару "ключ- значение", определяемую параметрами )геу и ча1ие Удаляет все пары "ключ-значение" из вызывающей коллекции Возвращает логическое значение сгпе, если вызываю- щая коллекция содержит объект )геу в качестве ключа, в противном случае — логическое значение га1зе Возвращает перечислитель для вызывающей коллек- ции Удаляет из коллекции элемент, ключ которого равен зна- чению параметра )геу чозс[ Ас[с[(оЬ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Со11есгуоп и 1ЕппиегаЬ1е. Методы, объявленные в интерфейсе 1Р1сгзопагу, сведены в табл. 25.3. Некоторые из них генерируют исключение дгвпиепснп11Ехсерскоп при попытке указать пустой ключ, поскольку пустые ключи не допускаются. 930 Часть!1. Библиотека С№ Этот индексатор служит для получения и установки значения элемента коллекции, а также для добавления в коллекцию нового элемента. Но в качестве индекса в данном случае служит ключ элемента, а не собственно индекс.

Интерфейсы 1ЕппвегаЬ1е, 1Епцвегасог и 101ссйопагуЕпцвегасог Интерфейс 1ЕппвегаЬ1е является необобщенным, и поэтому он должен быть реализован в классе для поддержки перечислителей. Как пояснялось выше, интерфейс 1ЕппвегаЬ1е реализуется во всех классах необобщенных коллекций, поскольку он наследуется интерфейсом 1Со11есс1оп. Ниже приведен единственный метод беГЕпшаегасог (), определяемый в интерфейсе 1ЕппвегаЬ1е. 1Епивегасог Сескпивегасог() Он возвращает коллекцию.

Благодаря реализации интерфейса 1ЕппыегаЬ1е можно также получать содержимое коллекции в цикле Тогеасп. В интерфейсе 1Епгвве гасо г определяются функции перечислителя. С помощью методов этого интерфейса можно циклически обращаться к содержимому коллекции. Если в коллекции содержа1ся пары "ключ-значение" (словари), то ма~од Пе СЕпшпега сох () возвращает объект типа 1Р1СГТопагуЕппые гасо г, а петипа 1Еппвегасог. Интерфейс 1РТСС хопа гуЕппвегасот наследует от интерфейса 1Епшвехагог и вводит дополнительные функции, упрощающие перечисление словарей.

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

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

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

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

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

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