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

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

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

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

Следовательно, оно возвращает такое же значение, как и стандартное свойство, Соипг, определяемое для всех коллекций. В отличие от свойства Соипс, свойство Ьеппсв доступно не только для чтения, но и для записи, а значит, с его помощью можно изменить размер коллекции типа В1гйггау. Так, при сокращении коллекции типа ввсйггау лишние биты усекаются, начиная со старшего разряда, А при расширении коллекции типа Вьгйггау дополнительные биты, имеющие логическое значение га1яе, вводятся в коллекцию, начиная с того же старшего разряда.

Кроме того, в классе В1сйггау определяется следующий индексатор. риЫЬС Ьоо1 ЬЫя(ьпс 1пг(ех) ( Чес; яегп ) С помощью этого индексатора можно получать или устанавливать значение элемента. В приведенном ниже примере демонстрируется применение класса Вугйггау. Продемонстрировать применение класса Вьсйггяу. ияьпс ЯуясепГ ия1пс Яуясеи.со11есггппя; с1аяя Вйоепю ( риЫЬс ясяс1с чего ЯпонВЬГя(ясг1пс ген, Вгтяггяу Ыгя) ( Сопяо1е.нг1геьгпе(ген) г Гог(1пс 1=0; 1 < Ьгся.соипг~ ты) Сопяо1е.нпте("(О, — 6) ", Ыгя(г)); сопяо1е.игтгеььпе("1п")г ) ягягьс чо1П Нягп() Вггйггау Ья = пен Вггйггяу(8); Ьусе() Ь = ( 67 Вьслггау ьаз = пен В1ЬАггяу(Ь); риЫ1с ио1с( Яес(ьпс гппех, Ьоо1 иа1ие) риЫ1с чо1с( Яесй11(Ьоо1 иа1ие) риЬ11с В1САггау Хог(ВЬГАггау иа1ие) Выполняет операцию логического сложения ИЛИ би- тов вызывающего объекта и коллекции иа1ие.

Воз- вращает коллекцию типа В1гйггау, содержащую результат Устанавливает бит, указываемый по индексу 1пг)ех, равным значению иа1ие Устанавливает все биты равными значению «а1ие Выполняет логическую операцию исключающее ИЛИ над битами вызывающего объекта и коллекции иа1не. Возвращает коллекцию типа вусйггау, со- держащую результат Глава 2б. Комекции, перечислители и итераторы 953 Бьонвтта("Исходное содержимое коллекции Ьа:", Ьа)) Ьа = Ьа.иот(); БпонВттз("Содержимое коллекции Ьа после логической операции НОТ:", Ьа)) БьонВттз("Содержимое коллекции Ьа2:", Ьа2); В1тлгтау Ьаз = Ьа.Хот(Ьа2); БьонВттз("Резульгат логической операции Ьа ХОВ Ьа2:", Ьаз)) ) ) Эта программа дает следующий результат. Исходное содержимое коллекции Ьа: Га15Е Га15Е Га15Е Га15Е Га15Е Га15Е Га15Е Га15е Содержимое коллекции Ьа после логической операции НОТ: Тгце Ттце Тгце Ттце Тгце Ттце Ттце Ттце Содержимое коллекции Ь52: Тгце Тгце Га1*е Га15е Га15е Га15е Гтгце Га15е Результат логической операции Ьа ХОЯ Ьа2: Га15е Га15е Ттце Ттце Тгце Тгне Га15е Тгце Специальные коллекции Класс специальной комекции Описание СО11есс1опзцтт1 НуЬттбР1ст1опату Содержит фабричные методы для создания комекций Предназначен для комекций, в которых для хранения небольшого количества пар "ключ-значение" используется класс ь15ЬР1сс1опату.

При превышении комекцией определенного размера автоматически используется класс назЬьаЬ15 для хранения ее элементов Предназначен для комекций, в которых для хранения пар "ключ- значение" используется связный список. Такие комекции рекомендуются только для хранения небольшого количества элементов Предназначен для отсортированных комекций, в которых хранятся пары "ключ-значение", причем и ключ, и значение от- НОСЯТСЯ К ТИПУ зст1ПН Предназначен для коллекций, в которых хранятся индексируемые пары "ключ-значение" Предназначен для комекций, оптимизированных для хранения символьных строк Предназначен для хеш-таблиц, в которых хранятся 'пары "ключ-значение", причем и ключ, и значение относятся к типу 5тт1пс Р15СРтсттопату Нагнет)51цеСО11есс1оп Ото)егес(Р1сстопату Бсг1ппСО11ест1оп Бтг1ппРтст1опату В среде ЛЕТ ггаптетчог)г предусмотрен ряд специальных коллекций, оптимизированных длл работы с данными конкретного типа или для их обработки особым образом.

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

Обобщенные коллекции объявляются в пространстве имен Буягев. Со11ессйопя. Яепег1с. Как правило, классы обобщенных коллекций являются не более чем обобщенными эквивалентами рассматривавшихся ранее классов необобщенных коллекций, хотя это соответствие не является взаимно однозначным. Например, в классе обобщенной коллекции Ыпхеоь1яс реализуется двунаправленный список, тогда как в необобщенном эквиваленте его не существует. В некоторых случаях одни и те же функции существуют параллельно в классах обобщенных и необобщенных коллекций, хотя и под разными именами. Так, обобщенный вариант класса АггауЬТяс называется Ыяс, а обобщенный вариант класса Вая1ттаЫе — Отсг1опагу. Кроме того, конкретное содержимое различных интерфейсов и классов реорганизуется с минимальными изменениями для переноса некоторых функций из одного интерфейса в другой.

Но в целом, имел ясное представление о необобщенных коллекциях, можно без особого труда научиться применять и обобщенные коллекции. Как правило, обобщенные коллекции действуют по тому же принципу, что и не- обобщенные, за исключением того, что обобщенные коллекции типизированы. Это означает, что в обобщенной коллекции можно хранить только те элементы, которые совместимы по типу с ее аргументом.

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

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

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

А свойство 1зне а с(Оп 1 у имеет логическое значение с гое, если коллекция доступна только для чтения. Если же коллекция доступна как для чтения, так и для записи, то данное свойство имеет логическое значение га1зе. Кроме того, в интерфейсе 1Со11есссоп<т> определены перечисленные ниже методы. Обратите внимание на то, что в этом обобщенном интерфейсе определено несколько большее количество методов, чем в его необобщенном аналоге.

Метод Описание чотс( АсЫ(Т ТСев) Добавляет элемент ТСев в вызывающую коллекцию. Гене- рирует исключение носепррогсес(ехсерссоп, если кол- лекция доступна только для чтения Удаляет все элементы из вызывающей комекции Возвращает логическое значение сгпе, если вызывающая комекция содержит элемент усев, а иначе — логическое значение га1зе Копирует содержимое вызывающей комекции в массив аггау, начиная с элемента, указываемого по индексу аггау1пс(ех УдаЛяЕт ПЕРВОЕ ВХОждЕНИЕ ЭЛЕМЕНта 1 Сев В ВЫЗЫВаЮщЕй комекции.

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

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

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

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

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