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

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

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

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

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

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

1012 Часть! Е Библиотека С№ связанных с сетевым подключением к Интернету, относится пространство Буяген. ХеЬ. Это и вложенные в него пространства имен поддерживают сетевые приложения на основе технологии АБР.НЕТ. В среде .А)ЕТ Ргашетчог)г имеется достаточно гибких средств и возможностей для сетевого подключения к Интернету. Тем не менее для разработки многих приложений более предпочтительными оказываются функциональные возможности, доступные в пространстве имен Яуя ген. Нег.

Они и удобны, и просты в использовании. Именно поэтому пространству имен Яуясев. Хес будет уделено основное внимание в этой главе. Члены пространства имен Яув~ев1. Бе~ АЧГЬогггасгоп АЧГЬепт1сас1опМападег Соок1еСо11есс1оп Соок1е Соок1еЕхсерт1оп СоокгеСопса1пег Сгебепсга1СасЬе Опя ОпяРегн1яя1оп РпяЕпбРогпс ОпяРегы1яя1опАГГг1Ьпте Оонп1оабРатаСоыр1есебЕчепГАгоя Роип1оабРгодгеяяСЬапЯебЕчепГАгдя Оонп1оабБГг1пдСотр1есебЕчепГАгдя Еабро1пГРегв1яя1оп ЕпбРо1пс Р11енеЬНеопеяс Г11енеЬНеяропяе ГсрнеЬНеяропяе ГсрнеЬНеопеяг НссрЬ№ясепегВая1с1бепт1ту НГГРВ1ятепегЕхсерс1оп НстрЬ1ясепег НГГрЬ№ясепегСоптехс НГГрЬ№ясепегргебхСо11ессгоп НтсрВ1ясепегнеопеяс Нтсрчегя1оп НтсрнеЬВеяропяе НстрЬЕясепегнеяропяе Нссрхеьнеопеяс 1РЕпбРогпс 1РАббгеяя 1РЕпброгпГСо11естгоп 1РНояГЕпсгу НетиогХСгебепсга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оабча1пеяСотр1есебЕчепГАгоя ХеЬЕхсерт1оп ХеЬРегт1яя1оп ХеЬС11епт ХеЬНеабегСо11есс1оп Пространство имен Буя ген.

Нег довольно обширно и состоит из многих членов. Полное их описание и обсуждение всех аспектов программирования для Интернета выходит далеко за рамки этой главы. (На самом деле для подробного рассмотрения всех вопросов, связанных с сетевым подключением к Интернету и его поддержкой в СФ, потребуется отдельная книга.) Однако целесообразно хотя бы перечислить члены пространства имен Б у я сев. Нес, чтобы дать какое-то представление о том, что именно доступно для использования в этом пространстве.

Ниже перечислены классы, определенные в пространстве имен Буягев. Нег. Глава 26. Сетевые средства подключения к Интернету 1013 ХеЬРегтгяя1опАССгТЬпсе ХеЬРгоху ХеЬКес?пеясмеГЬосся саеЬКесгоеяс ХеЬКесгпеяГМеГЬос?я.рср ХеЬКесгпеяСМесЬосГя.р11е ХеЬКеяропяе ХеЬКесгпеяГМеГЬоСя.НГГр ХеЬНГ111су Кроме того, в пространстве имен Яуя сев.

нег определены перечисленные ниже интерфейсы. 1Сгес1епс1а1Ро11су Апснепс1сас1опыооп1е 1сегггйсасеро11су 1ХеЬРгоху 1сгеоепс1а1яВуНояс 1Сгессепс1а1я 1ХеЬРгохуясгйрс 1ХеЬКес?пеяГСгеасе В этом пространстве имен определяются также приведенные ниже перечисления. АпГЬепсдсасдопЯснетея Весотргеяя1опМесЬос1я РсрБГаспяСос?е Нссраеяропяенеаоег НсгрЯСасояСоссе НссрКес?пеяГНеас1ег ЯеспгьсуРгососо1Туре Тгапярогстуре ХетиогКАссеяя ХеЬЕхсерс1опБСаспя Помимо этого, в пространстве имен Буясет. Нес определен ряд делегатов. Несмотря на то что в пространстве имен Я уз Гет.

Нес определено немало членов, лишь немногие из них на самом деле требуются при решении наиболее типичных задач программирования для Интернета. Основу сетевых программных средств составляют абстрактные классы ХеЬКесгпеяс и ХеЬКеяропяе. От этих классов наследуют все классы, поддерживающие конкретные сетевые протоколы. (Протокол определяет правила передачи данных по сети.) Например, к производным классам, поддерживающим стандартный сетевой протокол НТТР, относятся классы Нт СриеЬКессоеяс и НссрнеЬКе яров яе.

Классы НссрнеЬКесгпеаг и НсгрнеЬКеяропяе довольно просты в использовании. Тем не менее решение некоторых задач можно еще больше упростить, применяя подход основанный на классе хеЬС11епс. Так, если требуется только загрузить или вы- ГруЗИтЬ файЛ, тО дЛя ЭтОй ЦЕЛИ ЛУЧШЕ ВСЕГО ПОдОйдЕт КЛаСС ХЕЬС11ЕГсс. Универсальные идентификаторы ресурсов В основу программирования для Интернета положено понятие универсального идентификсгтора ресурса (1Л1), иногда еще называемого унифицированным укюателем информайионного ресурса (1)К1). Этот идентификатор описывает местоположение ресурса в сети. В корпорации М)сгояоа принято пользоваться сокращением 1)й1 при описании членов пространства имен Буясет. Нес, и поэтому в данной книге выбрано именно это сокращение для обозначения универсального идентификатора ресурса.

Идентификаторы 1)рс1, без сомнения, известны каждому, кто хотя бы раз пользовался браузером для поиска информации в Интернете. По существу, это адрес информационного ресурса, который указывается в соответствующем поле окна браузера. Ниже приведена общая форма идентификатора 1Л1: Протокол:/гнявнтификвционкъсй номер сервера/Путь к файлу?Запрос где Протокол — это применяемый протокол, например НТТР; идентификационный номер сервера — конкретный сервер, например тЬрго1еяяйопа1. сот или 1014 Часть!1. Библиотека С№ НегЬЗсЬ11г1Г. сопя путь к файлу — путь к конкретному файлу. Если же Путь к файлу не указан, то получается страница, доступная на указанном сервере по умолчанию.

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

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

Например, в идентификаторе ЬЬ Гр: у у ииь . НегЬЯсЬ11НГ. сов используется префикс Ьггр, обозначающий протокол передачи гипертекстовых файлов (НТТР). Как упоминалось выше, классы ХеЬНеспеяг и ХеЬНеяропяе являются абстрактными, а следовательно, в них определенны в самом общем виде операции запроса и ответа, типичные для всех протоколов. От этих классов наследуют более конкретные производные классы, в которгях реализуются отдельные протоколы. Эти производные классы регистрируются самостоятельно, используя для этой цели статический метод Непфягегггейх (), определенный в классе неЬНеспеят.

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

Эти классы наследуют от классов иеьнеспеяг и иеьнеяропяе, а кроме того, имеют собственные дополнительные члены, применимые непосредственно к протоколу НТТР. Глава 26. Сетевые средства подключения к Интернету 1015 Класс Т)ТеЬЕесрзее 1 Класс ИеЬКес)сез с управляет сетевым запросом. Он является абстрактным, поскольку в нем не реализуется конкретный протокол.

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

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

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

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