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

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

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

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

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

ухе1С гекогп оЬУ) ) где имя итератора обозначает конкретное имя метода; список параметров— нуль или более параметров, передаваемых методу итератора; о)оу — следующий объект, возвращаемый итератором. Как только именованный итератор будет создан, его можно использовать везде, где ои требуется, например для управления циклом гогеасп.

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

пвгпп Яувсевк пвгпп Яуявев.Со11есс1опяк с1авв МуС1аяв ( айаг сь = 'А'; Глава 24, коллекции, перечислители и итераторы 911 // Этот итератор возвращает буквы английского // алфавита, начиная с буквы А и кончая указанньвя // конечным пределом. рпЫас ХБппщегаЫе Му1сг(апс епб) ( Гог(апс 1=от 1 < епбт 1ь+) уае16 гесогп (сйаг) (сй ь 1)т ) // Этот итератор возвращает буквы в заданных пределах. рнЫ1с 1ЕпниегаЫе Му1сг(апс Ьеоап, апс епт() ( ток(1пг а=йеоап; 1 < епбт 1++) уае1б гегнгп (сйаг) (сй + 1) т ) ) с1аяя 1сгоещо4 ( ятавьс чо(А Ма1п О ( МуС1аяя щс = пен МуС1аяя()т Сопяо1е.ИгасеЬ1пе("Возвратить по очереди первые 7 букв:"); гогеасЫсЬаг сй ап щс.Му1кг(7) ) Сопяо1е.Иг1се(сЬ + " ") т Сопяо1е.

Иг1сещпе ("1п" ) т Сопяо1е.иг1сеъьпе("Возвратить по очереди буквы от Г до Ьт")т тогеасй(сйаг сй 1п ис.Му1сг(5, 12)) Сопяо1е.игасе(сЬ е " ")т Сопяо1е .Игагеьапе () т ) ) Эта программа данг следующий результат: Возвратить по очереди первые 7 букв: А В С Р Е Г Я Возвратить по очереди буквы от Г до Ш Г 6 Н 1 Ю К Ь Создание обобщенного итератора В приведенных выше примерах применялись необобщенные итераторы, но, конечно, ничто не мешает создать обобщенные итераторы. Для этого достаточно возвратить объект обобщенного типа 1Епнщегагог<т> или 1Епощегай1е<т>.

Ниже приведен пример создания обобщенного итератора. // Простой пример обобщенного итератора. ияапп Эувсели ияапч Эуягещ.со11есгтопя.пепегтст 912 Часть!1. Библиотеиа С() с1азз МуС1авв<Т> ( Т[) аггау; риЬ11с МуС1авв(Т(] а) ( аггау = аи // Этот итератор возвращает символы из массива спгз. риЬ11с 1Еппщегагог<Т> ОеГБппщегасог() ( тогеасп(Т оЬ3 1п аггау) уте1О гегигп оЬ37 ) с1азз Яепегтс1тгоещо ( всатгс го1о Ма1п() ( 1пг[) поев = ( 4, 3, 6, 4, 7, 9 )7 МуС1азз<апт> щс = пеи МуС1азз<1пс>(пища) Гогеасп(тпт х Тп щс) Сопво1е.Иг1се(х + " ") 7 Сопво1е.Игтсеьтпе() 7 Ьоо1[] Ьча1в = ( стае, стае, Га1ве, стае )7 МуС1авв<Ьоо1> щс2 = пеи Мус1азз<Ьоо1>(Ьуа1в) Гогеасп(Ьоо1 Ь Тп щс2) Сопво1е.нт).се(Ь ь " ") 7 Сопзо1е.нгттеь[пе(); ) ) Вот к какому результату приводит выполнение этой программы: 436479 Тгие Ттое Га1ве Ттие В данном примере массив, состоящий из возвращаемых по очереди объектов, передается конструктору класса МуС1азя.

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

Вместо того чтобы явно вызывать метод )(<(о (), при создании коллекции можно указать список инициализаторов. После этого компилятор организует автоматические вызовы метода )(с(<( (), используя значения из этого списка, Синтаксис в данном случае ничем не отличается от инициализации масси- Глава 24.

Коллекции, перечислители и итераторы 913 ва. Обратимся к следующему примеру, в котором создается коллекция типа Оввс<с)тат>, инициализируемая символами С, А, Е, В, Р и Е: 11вг<сьаг> 1вг пен 11вт<сьаг>() ( 'С', 'А', 'Е', 'В', 'О', 'Г' )т После выполнения этого оператора значение свойства 1вс.соппс будет равно 6, поскольку именно таково число инициализаторов. А после выполнения следующего цикла гогеас)т: Гогеасп(сп гп 1вг) Сопво1е.ыг1ке(сь ь " "); получится такой результат: САЕВОГ Для инициализации коллекции типа О1пхебывс<тк, тч>, в которой хранятся пары "юпоч — значение", инициализаторы приходится предоставлять парами, как показано ниже. Яоггесвьвг<1пг, вкк1пс> 1вг = пен яогсесььвс<1пс, всг1пч>() ( (1, "один"), (2, "два" ), (3, "три") )т Компилятор передаст каждую группу значений в качестве аргументов методу Ас)с( () .

Следовательно, первая пара инициализаторов преобразуется компилятором в вызов АсЫ(1, "один"). Компилятор вызывает метод Ас)п () автоматически для ввода инициализаторов в коллекцию, и поэтому инициализаторы коллекции можно использовать только в коллекциях, поддерживающих открытую реализацию метода АсЫ () . Это означает, что инициализаторы коллекции нельзя использовать в коллекциях типа ясасх, ясаск<т>, ()пене или Япепе<Т>, поскольку в них метод А<И () не поддерживается.

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

Эта ситуация коренным образом изменилась в С№. Используя стандартные средства С№ и среды .НЕТ Егатеъогк, можно довольно легко сделать приложения совместимыми с Интернетом и написать другие виды программ, ориентированных на подключение к Интернету. Поддержка сетевого подключения осуществляется через несколько пространств имен, определенных в среде .НЕТ Егашеч огк, и главным среди них является пространство имен зуэсеж. нес. В нем определяется целый ряд высокоуровневых, но простых в использовании классов, поддерживающих различные виды операций, характерных для работы с Интернетом.

Для этих целей доступен также ряд пространств, вложенных в пространство имен яузсев. Нее. Например, средства низкоуровневого сетевого управления через сокеты находятся в пространстве имен яуэеев. Нее. яосхееэ, поддержка электронной почты — в пространстве имен Буэсев. Нее. Ма11, а поддержка защищенных сетевых потоков — в пространстве имен З уз сев. Нес.

Зесигьг у. Дополнительные функциональные возможности предоставляются в ряде других вложенных пространств имен. К числу других не менее важных пространств имен, связанных с сетевым подключением к Интернету, относится пространство зуэееп. иеЬ. Это и вложенные в него пространства имен поддерживают сетевые приложения на основе технологии АЯРХЕТ. В среде .НЕТ Ргаше~чогк имеется достаточно гибких средств и возможностей для сетевого подключ4~ия к Интернету. Тем не менее для разработки многих приложений более предпочтительными оказываются функциональные возможности, доступные в пространстве имен зуэсет. нег.

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

Тип файла
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 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее