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

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

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

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

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

Единственное изменение, которое потребовалось для этого, заключалось в замене класса Аггауъуяс классом 11яс, а также в использовании параметров обобщенноготипа. 964 Часть 11. Библиотека С() Продемонстрировать применение класса 11яс<Т>. ця1па Буягеш; ця1па Буяаеш.со11есг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пе("Удалить 2 элемента "); // Удалить элементы из динамического массива. 1яв.решоче('Г'); 1яс.решоче('й')) Сопво1е.иг1сеь1пе("Количество элементов: " + 1яа.сапог); // Отобразить содержимое динамического массива, используя цикл Гогеасй.

Сопяо1е.ыг1се("Содержимое: "); Еогеасй(айаг с 1п 1яс) Сопяо1е.иг1се(с + " ") т Сопяо1е.иг1сеь1пе ("1п"); Сопяо1е.игзгеььпе("Добавить еще 20 элементов"); // Добавить количество элементов, достаточное длл // принудительного расширения массива. Тот(1пг 1=0у г < 20; 1++) 1яа.йс(б((айаг)('а' + г)); сопяо1е.хгтгепьпе("текущая емкость: " + 1яг.сарас1гу); Сопяо1е.игйгесьпе("Количество элементов после добавления 20 новых: 1яС.Саада); Сопяо1е.Хг).се("Содержимое: "); Глава 25.

Комекции, перечислитеяи и итераторы 965 Гогеасп(спас с 1п 1яС) сопяо1е.хстсе(с + " ")т сопяо1е.хстсеь1пе(")и")т // Изменить содержимое динамического массива, // используя индексирование массива. сопяо1е.хг1сеььпе("изменить три первых элемента") 1зС(0] = 'Х'т 1яс (1] = 'т' ) 1яС(2] = 'Е'т сопяо1е.хгьсе("содержимое: Гогеасп(спас с 1п 1яы Сопяо1е.истое(с + " "); Сопяо1е.истгеьапе()) О Следукшая строка кода недопустима из-за нарушения безопасности обобщенного типа.

О 1яс.))пс)(99); О Ошибка, поскольку это не тип сьаг! ) ) Эта версия программы дает такой же результат, как и предыдущая. Исходное количество элементов: О Добавить б элементов Количество элементов: 6 Текущее содержимое: С А Е В О Е Удалить 2 элемента Количество элементов: 4 Содержимое: С Е В О Добавить еще 20 элементов Текущая емкость: 32 Количество элементов после добавления 20 новых: 24 Содержимое: С Е В О а Ь с о е Г 9 Ь 1 ] Х 1 ш и о р с) г я с Изменить три первых элемента Содержимое: Х У 2 О а Ь с С е Г 9 Ь 1 3 Х 1 ш и о р с( с я с Класс Ып]сесП з ВЬ<Т> В классе ЬТпкеЖ1зс<Т> создается коллекция в виде обобщенного двунаправленного списка.

В этом классе реализуются интерфейсы 1Со11есгзоп, 1Со11есСТоп<Т>, 1ЕппщегаЫе, 1ЕппшегаЬТе<Т>, 1Бег1а11хаЬ1еи 10еяегаа11таСТопСа11Ьас)с. В двух последних интерфейсах поддерживается сериализация списка. В классе 1 Тп кем 1з с <т> определяются два приведенных ниже открытых конструктора. роЫТс ЬвпхеСЫяС() роЫ1с ЬьпкеСЬ1яС (1ЕпошегаЫе<Т> со11есгтоп) В первом конструкторе создается пустой связный список, а во втором конструкторе — список, инициализируемый элементами из коллекции со11ес сцоп. 9бб Часть П. Библиотека С№ риЫ1с Глпкебъ1вгиобе<Т> Нехг ( иеСГ ) риЫ1с Ььпхебъьвгиобе<т> Ргеч1оив ( Чегг ) риЫ1с Ььпкеб( ьвС<Т> т 1вС ( пег; ) риЬ11с Т Ча1ие ( иеС; веС; С помощью свойств нехс и ргечдоия получаются ссылки на предыдущий и последующий узлы списка соответственно, что дает возможность обходить список в обоих направлениях.

Если же предыдущий или последующий узел отсутствует, то возвращается пустая ссылка. Для получения ссылки на сам список служит свойство 11яС. А с помощью свойства Уа1ие можно устанавливать и получать значение, находящееся в узле списка. В классе 11пхеб11вс<т> определяется немало методов.

В табл. 25.16 приведены наиболее часто используемые методы данного класса. Кроме того, в классе 11пкеб11яС<Т> определяются собственные свойства, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Эти свойства приведены ниже. риЫ1с т ьпхеб( ьвСНобе<т> ГьгяС ( пег( ) риЬ11с т ьпкебг ьвгиобе<т> ьаяс ( десг ) С помощью свойства рдгяС получается первый узел в списке, а с помощью свойства Ьая С вЂ” последний узел в списке.

Таблица 25.16. Наиболее часто используемые методы, определенные в классе 1,1п)себу.да Ь<Т> Описание Метод риЬ11с Рьпиебпьягйобе<Т> АббАТСег(11п)геб11ягиобе<Т> пос(е, Т ча1ие) Добавляет в список узел со значением ча1ие непосредственно после указанного узла побе. Указываемый узел побе не должен быть пустым (пи1Ц. Метод возвращает ссылку на узел, содержащий значение ча1ие риЫ1с чодб Аббдйгег(пьпхеб11яСИобе<Т> побе, 11п)геб11яснобе<Т> пенИобе) Добавляет в список новый узел пень(обе непосредственно после указанного узла лоде.

Указываемый узел побе не должен быть пустым (пи11). Если узел побе отсутствует в списке или если новый узел пень(обе является частью другого списка, то' генерируется исключение 1пча11бОрегаС1опЕхсерС1оп Добавляет в списокузел со значением т а1ие непосредственно перед указанным узлом побе. Указываемый узел по бе не должен быть пустым (пи11). Метод возвращает ссылку на узел, содержащий значение ча1ие риЬ11с 1№пхебпдягнобе<Т> АббнеТоге(Ь№пхебппягнобе<Т> побе, Т ча1ие) Как и в большинстве других реализаций связных списков, в классе 11пкеб11яс<т> инкапсулируются значения, хранящиеся в узлах списка, где находятся также ссылки на предыдущие и последующие элементы списка.

Эти узлы представляют собой объекты класса ььпкебььясиобе<т>, В классе 11пкеб11ясиобе<т> предоставляются четыре следующих свойства Глава 25. Коллекции, перечислители и итераторы 967 Окончание табл. 25бб Метод Описание риЫ1с чодб Аббвебоге (1впгебз ТяГИобе<Т> побе, 11пКебтвяснобе<Т> пем)/обе) Добавляет в список новый узел пен)уобе непосредственно перед указанным узлом побе. Указываемый узел побе не должен быть пустым (пи11).

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

Если узел побе является частью другого списка, то генерируется исключение 1пиа1г ВОрегагдопехсерггоп Возвращает ссылку на первый узел в списке, имеющий значение оа1ие. Если искомое значение с а1 не отсутствует в списке, то возвращается пустое значение Возвращает ссылку на последний узел в списке, имеющий значение оа1ие.

Если искомое значение иа1 ие отсутствует в списке, то возвращается пустое значение Удаляет из списка первый узел, содержащий значение оа1ие. Возвращает логическое значение ггие, если узел удален, те. если узел со значением оа1ие обнаружен в списке и удален; в противном случае возвращает логическое значение Ха1яе Удаляет из списка узел, соответствующий укаЗаННОМу уЗЛу побе. ЕСЛИ УЗЕЛ побе Отоутствует в списке, то генерируется исключение 1поа11бОрегасдопЕхсертдоп Удаляет из списка первый узел Удаляет из списка последний узел риЫТс 1 Тпхебт Тяс<Т> Аббр1гяс (Т оа1ие) риЫТс ио1б Аббр1гяс(11плебвдясиобе побе) риЬ11с Ьдп)себ11яс<Т> Абб1,аяГ(Т иа1ие) риЫТс уо1б АббПаяс(11пКебвдятнобе побе) риЫТс 1 Тпхебвдяс<Т> Егпб(Т иа1ие) риЫгс ТдпКеб11яс<Т> ЕдпбЬаяс (Т оа1ие) риЬ1гс Ьоо1 Еевоуе (Т оа1ие) риЫ1с оо1б Кевотге(й1пкебй1яс<Т> поде) риЫТс уодб Кевоуер1гяГ() риЬ11с иодб Вевоие1аяГ О // продемонстрировать применение класса пглкебпгяс<т>.

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

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

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

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