C#. Полное руководство.
- ЧАСТЬ 1. Язык C# ⇢
- Глава 1. Создание C# ⇢
- Генеалогическое дерево C# ⇢
- Язык С - начало современной эпохи программирования.
- Появление ООП и C++
- Появление Интернета и Java.
- Создание C#
- Развитие C#
- Связь C# со средой .NET Framework. ⇢
- 0 среде NET Framework.
- Принцип действия CLR. ⇢
- Управляемый и неуправляемый код. ⇢
- Общеязыковая спецификация.
- ГЛАВА 2. Краткий обзор элементов C# ⇢
- Объектно-ориентированное программирование. ⇢
- Инкапсуляция.
- Полиморфизм.
- Наследование.
- Первая простая программа.
- Применение компилятора командной строки csc.ехе.
- Ввод исходного текста программы.
- Компилирование программы.
- Выполнение программы.
- Применение интегрированной среды разработки Visual Studio.
- Построчный анализ первого примера программы.
- Обработка синтаксических ошибок. ⇢
- Незначительное изменение программы. ⇢
- Вторая простая программа. ⇢
- Другие типы данных. ⇢
- Два управляющих оператора. ⇢
- Условный оператор.
- Оператор цикла.
- Использование кодовых блоков.
- Точка с запятой и оформление исходного текста программы. ⇢
- Ключевые слова C# ⇢
- Идентификаторы. ⇢
- Библиотека классов среды .NET Framework. ⇢
- ГЛАВА 3. Типы данных, литералы и переменные. ⇢
- О значении типов данных. ⇢
- Типы значений в C# ⇢
- Целочисленные типы. ⇢
- Типы для представления чисел с плавающей точкой. ⇢
- Десятичный тип данных. ⇢
- Символы. ⇢
- Логический тип данных. ⇢
- Некоторые возможности вывода. ⇢
- Литералы. ⇢
- Шестнадцатеричные литералы.
- Управляющие последовательности символов.
- Строковые литералы.
- Более подробное рассмотрение переменных. ⇢
- Инициализация переменной.
- Динамическая инициализация.
- Неявно типизированные переменные.
- Область действия и время существования переменных. ⇢
- Преобразование и приведение типов. ⇢
- Приведение несовместимых типов.
- Преобразование типов в выражениях. ⇢
- Приведение типов в выражениях.
- ГЛАВА 4. Операторы. ⇢
- Арифметические операторы. ⇢
- Операторы инкремента и декремента.
- Операторы отношения и логические операторы. ⇢
- Укороченные логические операторы.
- Оператор присваивания. ⇢
- Составные операторы присваивания.
- Поразрядные операторы. ⇢
- Поразрядные операторы И, ИЛИ, исключающее ИЛИ и НЕ.
- Операторы сдвига.
- Поразрядные составные операторы присваивания.
- Оператор ? ⇢
- Использование пробелов и круглых скобок. ⇢
- Предшествование операторов. ⇢
- ГЛАВА 5. Управляющие операторы. ⇢
- Оператор if. ⇢
- Вложенные операторы if.
- Конструкция if-else-if.
- Оператор switch. ⇢
- Вложенные операторы switch.
- Оператор цикла for. ⇢
- Некоторые разновидности оператора цикла for.
- ***Применение нескольких переменных управления циклом.
- Условное выражение.
- Отсутствующие части цикла.
- Бесконечный цикл.
- Циклы без тела.
- Объявление управляющих переменных в цикле for.
- Оператор цикла while. ⇢
- Оператор цикла do-while. ⇢
- Оператор цикла foreach. ⇢
- Применение оператора break для выхода из цикла. ⇢
- Применение оператора continue. ⇢
- Оператор return.
- Оператор goto. ⇢
- ГЛАВА 6. Введение в классы, объекты и методы. ⇢
- Основные положения о классах. ⇢
- Общая форма определения класса.
- Определение класса.
- Создание объектов. ⇢
- Переменные ссылочного типа и присваивание. ⇢
- Методы. ⇢
- Добавление метода в класс Building.
- Возврат из метода.
- Возврат значения.
- Использование параметров.
- Добавление параметризированного метода в класс Building.
- Исключение недоступного кода.
- Конструкторы. ⇢
- Параметризированные конструкторы.
- Добавление конструктора в класс Building.
- Еще раз об операторе new. ⇢
- Применение оператора new вместе с типами значений.
- “Сборка мусора” и применение деструкторов. ⇢
- Деструкторы.
- Ключевое слово this.
- ГЛАВА 7. Массивы и строки. ⇢
- Массивы. ⇢
- Одномерные массивы.
- Инициализация массива.
- Соблюдение границ массива.
- Многомерные массивы. ⇢
- Двумерные массивы.
- Массивы трех и более измерений.
- Инициализация многомерных массивов.
- Ступенчатые массивы. ⇢
- Присваивание ссылок на массивы. ⇢
- Применение свойства Length. ⇢
- Применение свойства Length при обращении со ступенчатыми массивами.
- Неявно типизированные массивы. ⇢
- Оператор цикла foreach. ⇢
- Строки. ⇢
- Построение строк.
- Обращение со строками.
- Массивы строк.
- Постоянство строк.
- Применение строк в операторах switch.
- ГЛАВА 8. Подробнее о методах и классах. ⇢
- Управление доступом к членам класса. ⇢
- Модификаторы доступа.
- Организация закрытого и открытого доступа.
- Практический пример организации управления доступом.
- Передача объектов методам по ссылке. ⇢
- Способы передачи аргументов методу.
- Использование модификаторов параметров ref и out. ⇢
- Использование модификатора параметра ref.
- Использование модификатора параметра out.
- Использование модификаторов ref и out для ссылок на объекты.
- Использование переменного числа аргументов. ⇢
- Возврат объектов из методов. ⇢
- Возврат массива из метода.
- Перегрузка методов. ⇢
- Перегрузка конструкторов. ⇢
- Вызов перегружаемого конструктора с помощью ключевого слова this.
- Инициализаторы объектов. ⇢
- Необязательные аргументы. ⇢
- Необязательные аргументы и перегрузка методов.
- Необязательные аргументы и неоднозначность.
- Практический пример использования необязательных аргументов.
- Именованные аргументы. ⇢
- Метод Main(). ⇢
- Возврат значений из метода Main().
- Передача аргументов методу Main().
- Рекурсия. ⇢
- Применение ключевого слова static. ⇢
- Статические конструкторы.
- Статические классы. ⇢
- ГЛАВА 9. Перегрузка операторов. ⇢
- Основы перегрузки операторов. ⇢
- Перегрузка бинарных операторов.
- Перегрузка унарных операторов.
- Выполнение операций со встроенными в C# типами данных. ⇢
- Перегрузка операторов отношения. ⇢
- Перегрузка операторов true и false. ⇢
- Перегрузка логических операторов. ⇢
- Простой способ перегрузки логических операторов.
- Как сделать укороченные логические операторы доступными для применения.
- Операторы преобразования.
- Рекомендации и ограничения по перегрузке операторов. ⇢
- Еще один пример перегрузки операторов. ⇢
- ГЛАВА 10. Индексаторы и свойства. ⇢
- Индексаторы. ⇢
- Создание одномерных индексаторов.
- Перегрузка индексаторов.
- Индексаторы без базового массива.
- Многомерные индексаторы.
- Свойства. ⇢
- Автоматически реализуемые свойства.
- Применение инициализаторов объектов в свойствах.
- Ограничения, присущие свойствам.
- Применение модификаторов доступа в аксессорах. ⇢
- Применение индексаторов и свойств. ⇢
- ГЛАВА 11. Наследование. ⇢
- Основы наследования. ⇢
- Доступ к членам класса и наследование. ⇢
- Организация защищенного доступа.
- Конструкторы и наследование. ⇢
- Вызов конструкторов базового класса.
- Наследование и сокрытие имен. ⇢
- Применение ключевого слова base для доступа к скрытому имени.
- Создание многоуровневой иерархии классов. ⇢
- Порядок вызова конструкторов. ⇢
- Ссылки на базовый класс и объекты производных классов. ⇢
- Виртуальные методы и их переопределение. ⇢
- Что дает переопределение методов.
- Применение виртуальных методов.
- Применение абстрактных классов. ⇢
- Предотвращение наследования с помощью ключевого слова sealed. ⇢
- Класс object. ⇢
- Упаковка и распаковка.
- Класс object как универсальный тип данных.
- ГЛАВА 12. Интерфейсы, структуры и перечисления. ⇢
- Интерфейсы. ⇢
- Реализация интерфейсов.
- Применение интерфейсных ссылок. ⇢
- Интерфейсные свойства. ⇢
- Интерфейсные индексаторы. ⇢
- Наследование интерфейсов. ⇢
- Сокрытие имен при наследовании интерфейсов. ⇢
- Явные реализации. ⇢
- Выбор между интерфейсом и абстрактным классом. ⇢
- Стандартные интерфейсы для среды .NET Framework. ⇢
- Структуры. ⇢
- О назначении структур.
- Перечисления. ⇢
- Инициализация перечисления.
- Указание базового типа перечисления.
- Применение перечислений.
- ГЛАВА 13. Обработка исключительных ситуаций. ⇢
- Класс System.Exception. ⇢
- Основы обработки исключительных ситуаций. ⇢
- Применение пары ключевых слов try и catch.
- Простой пример обработки исключительной ситуации.
- Второй пример обработки исключительной ситуации.
- Последствия неперехвата исключений. ⇢
- Обработка исключительных ситуаций - “изящный” способ устранения программных ошибок. ⇢
- Применение нескольких операторов catch. ⇢
- Перехват всех исключений. ⇢
- Вложение блоков try. ⇢
- Генерирование исключений вручную. ⇢
- Повторное генерирование исключений.
- Использование блока finally. ⇢
- Подробное рассмотрение класса Exception. ⇢
- Наиболее часто используемые исключения.
- Получение производных классов исключений. ⇢
- Перехват исключений производных классов. ⇢
- Применение ключевых слов checked и unchecked. ⇢
- ГЛАВА 14. Применение средств ввода-вывода. ⇢
- Организация системы ввода-вывода в C# на потоках. ⇢
- Байтовые и символьные потоки.
- Встроенные потоки.
- Классы потоков. ⇢
- Класс Stream.
- Классы байтовых потоков.
- Классы-оболочки символьных потоков.
- Двоичные потоки.
- Консольный ввод-вывод. ⇢
- Чтение данных из потока ввода с консоли.
- Применение метода ReadKey().
- Запись данных в поток вывода на консоль.
- Класс FileStream и байтовый ввод-вывод в файл. ⇢
- Открытие и закрытие файла.
- Чтение байтов из потока файлового ввода-вывода.
- Запись в файл.
- Использование класса FileStream для копирования файла.
- Символьный ввод-вывод в файл. ⇢
- Применение класса StreamWriter.
- Применение класса StreamReader.
- Переадресация стандартных потоков. ⇢
- Чтение и запись двоичных данных.
- Класс BinaryWriter.
- Класс BinaryReader.
- Демонстрирование двоичного ввода-вывода. ⇢
- Файлы с произвольным доступом. ⇢
- Применение класса MemoryStream. ⇢
- Применение классов StringReader и StringWriter. ⇢
- Класс File. ⇢
- Копирование файлов с помощью метода Сору().
- Применение методов Exists() и GetLastAccessTime().
- Преобразование числовых строк в их внутреннее представление. ⇢
- ГЛАВА 15. Делегаты, события и лямбда-выражения. ⇢
- Делегаты. ⇢
- Групповое преобразование делегируемых методов.
- Применение методов экземпляра в качестве делегатов.
- Групповая адресация.
- Ковариантность и контравариантность.
- Класс System. Delegate.
- Назначение делегатов.
- Анонимные функции. ⇢
- Анонимные методы. ⇢
- Передача аргументов анонимному методу.
- Возврат значения из анонимного метода.
- Применение внешних переменных в анонимных методах.
- Лямбда-выражения. ⇢
- Лямбда-оператор.
- Одиночные лямбда-выражения.
- Блочные лямбда-выражения.
- События. ⇢
- Пример групповой адресации события.
- Методы экземпляра в сравнении со статическими методами в качестве обработчиков событий.
- Применение аксессоров событий.
- Разнообразные возможности событий.
- Применение анонимных методов и лямбда-выражений вместе с событиями. ⇢
- Рекомендации по обработке событий в среде .NET Framework. ⇢
- Применение делегатов EventHandler<TEventArgs> и EventHandler.
- Практический пример обработки событий. ⇢
- ГЛАВА 16. Пространства имен, препроцессор и сборки. ⇢
- Пространства имен. ⇢
- Объявление пространства имен.
- Предотвращение конфликтов имен с помощью пространств имен.
- Директива using.
- Вторая форма директивы using.
- Аддитивный характер пространств имен.
- Вложенные пространства имен.
- Глобальное пространство имен.
- Применение описателя псевдонима пространства имен :
- Препроцессор. ⇢
- Директива #define.
- Директивы #if и #endif.
- Директивы #else и #elif.
- Директива #undef.
- Директива #error.
- Директива #warning.
- Директива #line.
- Директивы #region и #endregion.
- Директива #pragma.
- Сборки и модификатор доступа internal. ⇢
- Модификатор доступа internal. ⇢
- ГЛАВА 17. Динамическая идентификация типов, рефлексия и атрибуты. ⇢
- Динамическая идентификация типов. ⇢
- Проверка типа с помощью оператора is.
- Применение оператора as.
- Применение оператора typeof.
- Рефлексия. ⇢
- Класс System.Type - ядро подсистемы рефлексии.
- Применение рефлексии. ⇢
- Получение сведений о методах.
- Вторая форма метода GetMethods().
- Вызов методов с помощью рефлексии.
- Получение конструкторов конкретного типа.
- Получение типов данных из сборок.
- Полностью автоматизированное обнаружение типов.
- Атрибуты. ⇢
- Основы применения атрибутов.
- Создание атрибута.
- Присоединение атрибута.
- Получение атрибутов объекта.
- Сравнение позиционных и именованных параметров.
- Встроенные атрибуты. ⇢
- Атрибут AttributeUsage.
- Атрибут Conditional.
- Атрибут Obsolete.
- ГЛАВА 18. Обобщения. ⇢
- Что такое обобщения. ⇢
- Простой пример обобщений. ⇢
- Различение обобщенных типов по аргументам типа.
- Повышение типовой безопасности с помощью обобщений.
- Обобщенный класс с двумя параметрами типа. ⇢
- Общая форма обобщенного класса. ⇢
- Ограниченные типы.
- Применение ограничения на базовый класс.
- Применение ограничения на интерфейс.
- Применение ограничения new() на конструктор.
- Ограничения ссылочного типа и типа значения.
- Установление связи между двумя параметрами типа с помощью ограничения.
- Применение нескольких ограничений.
- Получение значения, присваиваемого параметру типа по умолчанию. ⇢
- Обобщенные структуры. ⇢
- Создание обобщенного метода. ⇢
- Вызов обобщенного метода с явно указанными аргументами типа.
- Применение ограничений в обобщенных методах.
- Обобщенные делегаты. ⇢
- Обобщенные интерфейсы. ⇢
- Сравнение экземпляров параметра типа. ⇢
- Иерархии обобщенных классов. ⇢
- Применение обобщенного базового класса.
- Обобщенный производный класс.
- Переопределение виртуальных методов в обобщенном классе. ⇢
- Перегрузка методов с несколькими параметрами типа. ⇢
- Ковариантность и контравариантность в параметрах обобщенного типа. ⇢
- Применение ковариантности в обобщенном интерфейсе.
- Применение контравариантности в обобщенном интерфейсе.
- Вариантные делегаты.
- Создание экземпляров объектов обобщенных типов. ⇢
- Некоторые ограничения, присущие обобщениям. ⇢
- Заключительные соображения относительно обобщений. ⇢
- ГЛАВА 19. LINQ. ⇢
- Основы LINQ. ⇢
- Простой запрос.
- Неоднократное выполнение запросов.
- Связь между типами данных в запросе.
- Общая форма запроса. ⇢
- Отбор запрашиваемых значений с помощью оператора where. ⇢
- Сортировка результатов запроса с помощью оператора orderby. ⇢
- Подробное рассмотрение оператора select. ⇢
- Применение вложенных операторов from. ⇢
- Группирование результатов с помощью оператора group. ⇢
- Продолжение запроса с помощью оператора into. ⇢
- Применение оператора let для создания временной переменной в запросе. ⇢
- Объединение двух последовательностей с помощью оператора join. ⇢
- Анонимные типы. ⇢
- Создание группового объединения. ⇢
- Методы запроса. ⇢
- Основные методы запроса.
- Формирование запросов с помощью методов запроса.
- Синтаксис запросов и методы запроса.
- Дополнительные методы расширения, связанные с запросами.
- Режимы выполнения запросов: отложенный и немедленный. ⇢
- Деревья выражений. ⇢
- Методы расширения. ⇢
- PLINQ. ⇢
- ГЛАВА 20. Небезопасный код, указатели, обнуляемые типы и разные ключевые слова. ⇢
- Небезопасный код. ⇢
- Основы применения указателей.
- Объявление указателя.
- Операторы * и & в указателях.
- Применение ключевого слова unsafe.
- Применение модификатора fixed.
- Доступ к членам структуры с помощью указателя.
- Арифметические операции над указателями.
- Сравнение указателей.
- Указатели и массивы.
- Индексирование указателей.
- Указатели и строки.
- Многоуровневая непрямая адресация.
- Массивы указателей.
- Оператор sizeof.
- Оператор stackalloc.
- Создание буферов фиксированного размера.
- Обнуляемые типы. ⇢
- Основы применения обнуляемых типов. ⇢
- Применение обнуляемых объектов в выражениях. ⇢
- Оператор ?? ⇢
- Обнуляемые объекты, операторы отношения и логические операторы. ⇢
- Частичные типы. ⇢
- Частичные методы. ⇢
- Создание объектов динамического типа. ⇢
- Возможность взаимодействия с моделью СОМ. ⇢
- Дружественные сборки. ⇢
- Разные ключевые слова. ⇢
- Ключевое слов lock.
- Ключевое слово readonly.
- Ключевые слова const и volatile.
- Оператор using.
- Ключевое слово extern.
- Объявление внешних методов.
- Объявление псевдонима внешней сборки.
- ЧАСТЬ 2. Библиотека C# ⇢
- ГЛАВА 21. Пространство имен System. ⇢
- Члены пространства имен System. ⇢
- Класс Math. ⇢
- Структуры .NET, соответствующие встроенным типам значений. ⇢
- Структуры целочисленных типов данных.
- Структуры типов данных с плавающей точкой.
- Структура Decimal.
- Структура Char.
- Структура Boolean.
- Класс Array. ⇢
- Сортировка и поиск в массивах.
- Обращение содержимого массива.
- Копирование массива.
- Применение предиката.
- Применение делегата Action.
- Класс BitConverter. ⇢
- Генерирование случайных чисел средствами класса Random. ⇢
- Управление памятью и класс GC. ⇢
- Класс object. ⇢
- Класс Tuple. ⇢
- Интерфейсы IComparable и IComparable<T> ⇢
- Интерфейс IEquatable<T> ⇢
- Интерфейс IConvertible. ⇢
- Интерфейс ICloneable. ⇢
- Интерфейсы IFormatProvider и IFormattable. ⇢
- Интерфейсы IObservable<T> и IObserver<T> ⇢
- ГЛАВА 22. Строки и форматирование. ⇢
- Строки в C# ⇢
- Класс String. ⇢
- Конструкторы класса String.
- Поле, индексатор и свойство класса String.
- Операторы класса String.
- Сравнение строк.
- Сцепление строк.
- Поиск в строке.
- Разделение и соединение строк.
- Заполнение и обрезка строк.
- Вставка, удаление и замена строк.
- Смена регистра.
- Применение метода Substring().
- Методы расширения класса String.
- Форматирование. ⇢
- Общее представление о форматировании.
- Спецификаторы формата числовых данных.
- Представление о номерах аргументов.
- Применение методов String. Format() и ToString() для форматирования данных. ⇢
- Применение метода String. Format() для форматирования значений.
- Применение метода ToString() для форматирования данных.
- Определение пользовательского формата числовых данных. ⇢
- Символы-заполнители специального формата числовых данных.
- Форматирование даты и времени. ⇢
- Определение пользовательского формата даты и времени.
- Форматирование промежутков времени. ⇢
- Форматирование перечислений. ⇢
- ГЛАВА 23. Многопоточное программирование. Часть первая: основы. ⇢
- Основы многопоточной обработки. ⇢
- Класс Thread. ⇢
- Создание и запуск потока.
- Простые способы усовершенствования многопоточной программы.
- Создание нескольких потоков.
- Определение момента окончания потока. ⇢
- Передача аргумента потоку. ⇢
- Свойство IsBackground. ⇢
- Приоритеты потоков. ⇢
- Синхронизация. ⇢
- Другой подход к синхронизации потоков.
- Класс Monitor и блокировка.
- Сообщение между потоками с помощью методов Wait(), Pulse() и PulseAll(). ⇢
- Пример использования методов Wait() и Pulse().
- Взаимоблокировка и состояние гонки. ⇢
- Применение атрибута MethodlmplAttribute. ⇢
- Применение мьютекса и семафора. ⇢
- Мьютекс.
- Семафор.
- Применение событий. ⇢
- Класс Interlocked. ⇢
- Классы синхронизации, внедренные в версии .NET Framework 4.0. ⇢
- Прерывание потока. ⇢
- Другая форма метода Abort().
- Отмена действия метода Abort().
- Приостановка и возобновление потока. ⇢
- Определение состояния потока. ⇢
- Применение основного потока. ⇢
- Дополнительные средства многопоточной обработки, внедренные в версии .NET Framework 4.0. ⇢
- Рекомендации по многопоточному программированию. ⇢
- Запуск отдельной задачи. ⇢
- ГЛАВА 24. Многопоточное программирование. Часть вторая: библиотека TPL. ⇢
- Два подхода к параллельному программированию. ⇢
- Класс Task. ⇢
- Создание задачи.
- Применение идентификатора задачи.
- Применение методов ожидания. ⇢
- Вызов метода Dispose().
- Применение класса TaskFactory для запуска задачи. ⇢
- Применение лямбда-выражения в качестве задачи. ⇢
- Создание продолжения задачи. ⇢
- Возврат значения из задачи. ⇢
- Отмена задачи и обработка исключения AggregateException. ⇢
- Другие средства организации задач. ⇢
- Класс Parallel. ⇢
- Распараллеливание задач методом Invoke().
- Применение метода For().
- Применение метода ForEach().
- Исследование возможностей PLINQ. ⇢
- Класс ParallelEnumerable.
- Распараллеливание запроса методом AsParallel().
- Применение метода AsOrdered().
- Отмена параллельного запроса.
- Другие средства PLINQ.
- Вопросы эффективности PLINQ.
- ГЛАВА 25. Коллекции, перечислители и итераторы. ⇢
- Краткий обзор коллекций. ⇢
- Необобщенные коллекции. ⇢
- Интерфейсы необобщенных коллекций. ⇢
- Интерфейс ICollection.
- Интерфейс IList.
- Интерфейс IDictionary.
- Интерфейсы IEnumerable, IEnumerator и IDictionaryEnumerator.
- Интерфейсы IComparer и IEqualityComparer.
- Интерфейсы IStructuralComparable и IStructuralEquatable.
- Структура DictionaryEntry. ⇢
- Классы необобщенных коллекций. ⇢
- Класс Аrгауlist.
- Сортировка и поиск в коллекции типа ArrayList.
- Получение массива из коллекции типа ArrayList.
- Класс Hashtable.
- Класс SortedList.
- Класс Stack.
- Класс Queue.
- Хранение отдельных битов в классе коллекции BitArray. ⇢
- Специальные коллекции. ⇢
- Обобщенные коллекции. ⇢
- Интерфейсы обобщенных коллекций. ⇢
- Интерфейс ICollection<T>
- Интерфейс IList<T>
- Интерфейс IDictionary<TKey, TValue>
- Интерфейсы IEnumerable<T> и IEnumerator<T>
- Интерфейс IComparer<T>
- Интерфейс IEqualityComparer<T>
- Интерфейс ISet<T>
- Структура KeyValuePair<TKey, TValue> ⇢
- Классы обобщенных коллекций. ⇢
- Класс List<T>
- Класс LinkedList<T>
- Класс DictionaryCTKey, TValue>
- Класс SortedDictionary<TKey, TValue>
- Класс SortedList<TKey, TValue>
- Класс Stack<T>
- Класс Queue<T>
- Класс HashSet<T>
- Класс SortedSet<T>
- Параллельные коллекции. ⇢
- Сохранение объектов, определяемых пользователем классов, в коллекции. ⇢
- Реализация интерфейса IComparable. ⇢
- Реализация интерфейса IComparable для необобщенных коллекций.
- Реализация интерфейса IComparable для обобщенных коллекций.
- Применение интерфейса IComparer. ⇢
- Применение необобщенного интерфейса icomparer.
- Применение обобщенного интерфейса IСоmрагег<Т>
- Применение класса StringComparer. ⇢
- Доступ к коллекции с помощью перечислителя. ⇢
- Применение обычного перечислителя.
- Применение перечислителя типа IDictionaryEnumerator.
- Реализация интерфейсов IEnumerable и IEnumerator. ⇢
- Применение итераторов. ⇢
- Прерывание итератора.
- Применение нескольких операторов yield.
- Создание именованного итератора.
- Создание обобщенного итератора.
- Инициализаторы коллекций. ⇢
- ГЛАВА 26. Сетевые средства подключения к Интернету. ⇢
- Члены пространства имен System.Net. ⇢
- Универсальные идентификаторы ресурсов. ⇢
- Основы организации доступа к Интернету. ⇢
- Класс WebRequest.
- Класс WebResponse.
- Классы HttpWebRequest и HttpWebResponse.
- Первый простой пример.
- Обработка сетевых ошибок. ⇢
- Исключения, генерируемые методом Create().
- Исключения, генерируемые методом GetResponse().
- Исключения, генерируемые методом GetResponseStream().
- Обработка исключений. ⇢
- Класс Uri. ⇢
- Доступ к дополнительной информации, получаемой в ответ по протоколу HTTP. ⇢
- Доступ к заголовку.
- Доступ к cookie-наборам.
- Применение свойства LastModified.
- Практический пример создания программы MiniCrawler. ⇢
- Применение класса WebClient. ⇢
- ПРИЛОЖЕНИЕ. Краткий справочник по составлению документирующих комментариев. ⇢
- Дескрипторы XML-комментариев.
- Компилирование документирующих комментариев.
- Пример составления документации в формате XML.
- Спецификации. ⇢
Г. Шилдт.