Герберт Шилдт - C# 4.0: полное руководство
- Название:C# 4.0: полное руководство
- Автор:
- Жанр:
- Издательство:ООО И.Д. Вильямс
- Год:2011
- Город:Москва -- Киев
- ISBN:978-5-8459-1684-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Герберт Шилдт - C# 4.0: полное руководство краткое содержание
В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.
Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию
C# 4.0: полное руководство - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
В качестве упражнения вы сами можете усовершенствовать программу MiniCrawler, дополнив ее, например, возможностью перехода по относительным ссылкам. Сделать это не так уж и трудно. Кроме того, вы можете полностью автоматизировать поисковый робот, чтобы он сам переходил по найденной ссылке без вмешательства со стороны пользователя, начиная со ссылки, обнаруженной на самой первой странице полученного содержимого, и продолжая переход по ссылкам на новых страницах. Как только будет достигнут тупик, поисковый робот должен вернуться на один уровень назад, найти следующую ссылку и продолжить переход по ссылке. Для организации именно такого алгоритма работы программы вам потребуется стек, в котором должны храниться идентификаторы URI и текущее состояние поиска в строке URL С этой целью можно, в частности, воспользоваться коллекцией класса Stack
. В качестве более сложной, но интересной задачи попробуйте организовать вывод ссылок в виде дерева.
Применение класса WebClient
В заключение этой главы уместно рассмотреть класс WebClient
. Как упоминалось в самом ее начале, класс WebClient
рекомендуется использовать вместо классов WebRequest
и WebResponse
в том случае, если в приложении требуется лишь выгружать или загружать данные из Интернета. Преимущество класса WebClient
заключается в том, что он автоматически выполняет многие операции, освобождая от их программирования вручную.
В классе WebClient
определяется единственный конструктор.
public WebClient()
Кроме того, в классе WebClient
определяются свойства, сведенные в табл.26.6, а также целый ряд методов, поддерживающих как синхронную, так и асинхронную передачу данных. Но поскольку рассмотрение асинхронной передачи данных выходит за рамки этой главы, то в табл. 26.7 приведены только те методы, которые поддерживают синхронную передачу данных. Все методы класса WebClient
генерируют исключение WebException
, если во время передачи данных возникает ошибка.
Таблица 26.6. Свойства, определенные в классе WebClient
Свойство - Описание
public string BaseAddress { get; set; } -Получает или устанавливает базовый адрес требуемого URI. Если это свойство установлено, то адреса, задаваемые в методах класса WebClient,должны определяться относительно этого базового адреса
public RequestCachePolicy CachePolicy { get; set; } -Получает или устанавливает правила, определяющие, когда именно используется кэш
public ICredentials Credentials { get; set; } -Получает или устанавливает мандат, т.е. учетные данные пользователя. По умолчанию это свойство имеет пустое значение
public Encoding Encoding { get; set; } -Получает или устанавливает схему кодирования символов при передаче строк
public WebHeaderCollection Headers{ get; set; } -Получает или устанавливает коллекцию заголовков запроса
public bool IsBusy { get; } -Принимает логическое значение true,если данные по-прежнему передаются по запросу, а иначе — логическое значение false
public IWebProxy Proxy { get; set; } -Получает или устанавливает прокси-сервер
public NameValueCollection QueryString { get; set; } -Получает или устанавливает строку запроса, состоящую из пар “имя-значение”, которые могут быть присоединены к запросу. Строка запроса отделяется от URI символом ?. Если же таких пар несколько, то каждая из них отделяется символом @
public WebHeaderCollection ResponseHeaders{ get; } -Получает коллекцию заголовков ответа
public bool UseDefaultCredentials { get; set; } -Получает или устанавливает значение, которое определяет, используется ли для аутентификации устанавливаемый по умолчанию мандат. Если принимает логическое значение true,то используется мандат, устанавливаемый по умолчанию, т.е. учетные данные пользователя, в противном случае этот мандат не используется
Таблица 26.7. Методы синхронной передачи, определенные в классе WebClient
Метод - Определение
public byte[] DownloadData(string address) - Загружает информацию по адресу URI, обозначаемому параметром address. Возвращает результат в виде массива байтов
public byte[] DownloadData(Uri address) - Загружает информацию по адресу URI, обозначаемому параметром address. Возвращает результат в виде массива байтов
public void DownloadFile(string uri, string fileName) - Загружает информацию по адресу URI, обозначаемому параметром fileName. Сохраняет результат в файле fileName
public void DownloadFile(Uri address, string fileName) - Загружает информацию по адресу URI, обозначаемому параметром address. Сохраняет результат в файле fileName
public string DownloadString(string address) - Загружает информацию по адресу URI, обозначаемому параметром address. Возвращает результат в виде символьной строки типа string
public string DownloadString(Uri address) - Загружает информацию по адресу URI, обозначаемому параметром address. Возвращает результат в виде символьной строки типа string
public Stream OpenRead(string address) - Возвращает поток ввода для чтения информации по адресу URI, обозначаемому параметром address. По окончании чтения информации этот поток необходимо закрыть
public Stream OpenRead(Uri address) - Возвращает поток ввода для чтения информации по адресу URI, обозначаемому параметром address. По окончании чтения информации этот поток необходимо закрыть
public Stream OpenWrite(string address) - Возвращает поток вывода для записи информации по адресу URI, обозначаемому параметром address. По окончании записи информации этот поток необходимо закрыть
public Stream OpenWrite(Uri address) - Возвращает поток вывода для записи информации по адресу URI, обозначаемому параметром address. По окончании записи информации этот поток необходимо закрыть
public Stream OpenWrite(string address, string method) - Возвращает поток вывода для записи информации по адресу URI, обозначаемому параметром address. По окончании записи информации этот поток необходимо закрыть. В строке, передаваемой в качестве параметра method , указывается, как именно следует записывать информацию
public Stream OpenWrite(Uri address, string method) - Возвращает поток вывода для записи информации по адресу URI, обозначаемому параметром address. По окончании записи информации этот поток необходимо закрыть. В строке, передаваемой в качестве параметра method , указывается, как именно следует записывать информацию
public byte[] UploadData(string address, byte[] data) - Записывает информацию из массива data по адресу URI, обозначаемому параметром address. В итоге возвращается ответ
public byte[] UploadData(Uri address, byte[] data) - Записывает информацию из массива data по адресу URI, 'обозначаемому параметром address. В итоге возвращается ответ
Читать дальшеИнтервал:
Закладка: