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

Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 176

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

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

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

Если узел и отсутствует в списке или если узел нем является частью другого списка, то генерируется исключение 1пча1гоорегагзопехсерггоп В первом конструкторе создается пустой связный список, а во втором конструкторе— список, ииициализируемый элементами из коллекции с. Как и в большинстве других реализаций связных списков, в классе Е1пке<)вйэс<Т> инкапсулируются значения, хранящиеся в узлах списка, где находятся также ссылки на предыдущие и последующие элементы списка.

Эти узлы представляют собой объекты класса Ь1пхеоЬ1яеио<)е<Т>. В классе Ь1п хе<(вйясиог(е<Т> предоставляются четыре свойства: 876 Часть (!. Библиотека СЗ Окончание табл. 2д )5 Описание РОЫТС Етпкебптяк<Т> Аббттгят( Т ч) роЫТс 11пкеб11ят<т> Аббьаят( т т) риЫ1с 11пхеб11як<т> Еапбьаяк(т ) роЬ11о Ьоо1 яевоче(Т щ роЫ1с чокб яевочег1тят() роЫТс чо1б Яевочеьаят() // Продемонстрировать применение класса 11пхеб11ят<т>. ия1пс Эуякев; оя1по яуясев.со11есс1опя.сепет1сг с1аяя Оепдапхебстякрево ( якат1с ча1б Ма1п() // Соялать связный список. етпкебьтяс<сьат> 11 = печ етпкеб11яс<сьаг> О риЫтс Ь1пнеб11якиобе<т> Аббвеботе(рапхебптятиобе<Т> и, Т ч) ротс чоьб Аббвеботе(11пхеб11ятиобе<т> и, Етпхеб11ятиобе<т> пен) роЫтс чо1б Аббт1гяк (11пхебь1ятиобе пен) роЫТс но1б Абооаят (Ьтпхеб11ятиобе лен) риЫтс Еапхебпзяс<Т> Гтпб(Т т) рнЫТс чо1б Яеваче(11пхеб11ят<Т> и) В приведенном ниже примере 11п)тебЕ1як<т>.

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

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

Если искомое значение т отсутствует в списке, то возвращается пустое значение Удаляет из списка первый узел, содержащий значение в Возвращает логическое значение с где, если узел удален, т.е. если узел со значением ч обнаружен в списке и удален, в противном случае возвращает логическое значение ба1яе Удаляет из списка узел, соответствующий указанному узлу и. Если узел и отсутствует в списке, то генерирует- ся исключение тпча11борегас1опехсерс1оп Удаляет из списка первый узел Удаляет из списка последний узел программы демонстрируется применение класса Глава 24.

Коллекции, перечисли(ели и итераторы 877 сопяо1е.йгггеьапе("Исходное количество элементов " ч "в списке: " + 11.Соцпс)т Сопяо1е.йг1кевтпе() Сопяо1е.йггсетапе("Добавить в список 5 элементов"); // Добавить элементы в связный список. 11ЛСс(Г1гяк ('Л' ) т 11.ас(ПГ1гяк('В')) 11.аббГ).гяс('С')т 11 Лс)с(Г1гяк (' О') т 11.асЫГ1гяс('Е'): Сопяо1е.йг1ге11пе("Количество элементов " + "в списке: " + 11.Соцпг)т // Отобразить связный список, обойдя его вручную. 11пкеЖ1ясйобе<снаг> посек сопяо1е.йггге("Отобразить содержимое списка по ссылкам: "] гог(пес(е = 11.Г1гякт попе != пц11) поде = пос(е.йенс) сопяо1е.йг1ге(пес(е.на1це + " ")т Сопяо1е.йг1ке11пе("чп")т // Отобразить связный список, обойдя его в цикле Гогеасл.

Сопяо1е.йг1ге( "Отобразить содержимое списка в цикле аогеаслт "); гогеасн(сваг сн гп 11) Сопяо1е.йг).ке (сн + " ") т Сопяо1е .Иг1сеькпе (" тп") т // Отобразить связньва список, обойдя его вручную // в обратном направлении. Сопяо1е.йг1се( "Следовать по ссылкам в обратном направлении: ")т гог(пос(е = 11.1аяс) пос(е !" пц11; поде = пос(е.Рген1оця) сопяо1е.йг1ге(пес(е.на1це + " ")т Сопяо1е .Иггке11пе (" тп") ) // Удалить иэ списка два элемента. Сопяо1е.йг1ке11пе("Удалить 2 элемента из списка") // Удалить элементы из связного списка. 11.аеюоне('С'); 11.Вазоне('Ь')т Сопяо1е.йг1ге11пе("Количество элементов " ч "в списке: " + 11.Соцпк)т // Отобразить содержимое видоизмененного списка в цикле гогеасн.

878 Часть П. Библиотека С() Сопво1е.иг1ге("Содержимое списка после удаления элементов: ")т гогеасЬ(сваг сЬ кп 11) Сопво1е.игьге(сь + " ")т сопво1е.иг1сеь1пе("кп")т О Добавить три элемента в конец списка. 11.АсЫЬавс('Х')) 11.АкЫЬавг('т')т 11.АсЫ(,авс('Е')т Сопво1е.нг1се("Содержимое списка после ввода элементов: ")т Гогеасп(сьаг сь Ьп 11) Сопво1е.нгьге(со + " ") т сопво1е.игтсеьапе ("кп") т Ниже приведен результат выполнения этой программы. Исходное количество элементов в списке: О Добавить в список 5 элементов Количество элементов в списке: 5 Отобразить содержимое списка по ссылкам: Е О С В А Отобразить содержимое списка в цикле Гогеастм Е'О С В А Следовать по ссылкам в обратном направлении: А В С О Е Удалить 2 элемента иэ списка Количество элементов в списке: 3 Содержиьюе списка после удаления элементов: Е О В Содержимое списка после ввода элементов: Е О В Х т 2 Самое примечательное в этой программе — это обход списка в прямом и обратном направлении, следуя по ссылкам, предоставляемым свойствами Мехе и Ргеч1оцэ.

Двунаправленный характер подобных связных списков имеет особое значение для приложений, управляющих базами данных, где нередко требуется перемещаться по списку в обоих направлениях. Класс Шсйхопату<Т~, й'~У) В классе О1сС1опагу<ТК, ТЧ> пары "ключ — значение" хранятся в коллекции как в словаре. Значения доступны в словаре по соответствующим ключам. В этом отношении данный класс аналогичен необобщенному классу НаэпгаЫе. В классе О1се1опагу<ТК, ТЧ> реализуются интерфейсы 1ОЬсСЬопагу, 1О1с11опагу<ТЧ, ТЧ>, 1Со11есг1оп, 1Со11есг1оп<КеуЧа1цеРа1г<ТК, ТЧ», 1ЕпцатегаЫе, 1ЕпциегаЫе<КеуЧа1цеРа1г<ТК, ТЧ», 15ег1а11гаЫе и 1пеэег1а11гае1опСа11Ьасх.

В двух последних интерфейсах поддерживается сериализация списка Словари имеют динамический характер, расширяясь по мере необходимости. Глава 24. Коллекции, леречислители н нтераторы 879 В классе Р1ссгопагу<ТК, ТЧ> предоставляется немало конструкторов. Ниже перечислены наиболее употребительные из них. рцЫгс О1ссгопагу() рпЫго Огссгопагу (1О1ссгопагу<ТК, ТЧ> <(1сс) риЫ1с О1сс1опагу (1пс емкость) Таблица 24.

т 6. Наиболее употребительные методы, определенные в классе Р1сИопагу<ТК, ТЧ> Описание Метод рць11 гн ЛСС(ТК )г, тч ) Добавляет в словарь пару "ключ-значение", определяеыую параметрами )г и ч. Если ключ )г уже находится в словаре, то его значение не изменяется и генерируется исключение АгопаепГЕхсерсгоп Возвращает логическое значение ггпе, если вызывающий словарь содервит объект )г в качестве ключа; в противном случае — логическое значение та1зе Возвращает логическое значение ггое, если вызывающий словарь содервит значение Ю в противном случае — логическое значение га1зе тч> Возвращает перечислительдля вызывающего словаря Удаляет ключ )( из словаря.

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

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

Некоторые наиболее употребительные методы этого класса сведены в табл. 24.16. 880 Часть П, Библиотека СЗ И наконец, в классе 01сс1опагу<тк, тч> реализуется приведенный ниже индексатор, определенный в интерфейсе 101сг1опагу<ТК, ТЧ>. рцЫ1с ТЧ ГЫя(ТК Леу] ( четы яЕГт ) Этот индексатор служит для получения и установки значения элемента коллекции, а также для добавления в коллекцию нового элемента. Однако в качестве индекса в данном случае служит ключ элемента, а не собственно индекс. При перечислении коллекции типа 01СС1опагу<ТК, тЧ> из нее возвращаются пары "ключ — значение" в форме структуры кеуЧа1цера1г<тк, тЧ>. Напомним, что в этой структуре определяются два поля: рцЫТс ТК Кеу; рцЫгс ТЧ Ча1цет В этих полях содержится ключ или значение соответствующего элемента коллекции.

Как правило, структура КеуЧа1цера1г<ТК, ТЧ> не используется непосредственно, поскольку средства класса 01011опагу<тк, тч> позволяют работать с ключами и значениями по отдельности. Но при перечислении коллекции типа 01сг1опагу<ТК, ТЧ>, например, в цикле Тогеас)т перечисляемыми объектами являются пары типа КеуЧа1церагг. Все ключи в коллекции типа ()1СС1опагу<ТК, ТЧ> должны быть уникальными, причем ключ не должен изменяться до тех пор, пока он служит в качестве ключа. В то же время значения не обязательно должны быть уникальными. К тому же объекты не хранятся в коллекции типа 01СС1опагу<ТК, ТЧ> в отсортированном порядке. В приведенном ниже примере демонстрируется применение класса 01сс1опагу<ТК, ТЧ>.

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

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

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

Г. Шилдт - С# 3.0 Полное руководство
C_sharp_3TCR_code
Apndx.lst
Chap2.lst
Chap3.lst
Chap4.lst
Chap5.lst
Chap6.lst
Chap7.lst
Chap8.lst
Chap9.lst
Chap10.lst
Chap11.lst
Chap12.lst
Chap13.lst
Chap14.lst
Chap15.lst
Chap16.lst
Chap17.lst
Chap18.lst
Chap19.lst
Chap20.lst
Chap21.lst
Chap22.lst
Chap23.lst
Chap24.lst
Chap25.lst
Chap26.lst
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6401
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее