Книга посвящена принципиально новой, революционной технологии программирования — Visual Basic .NET. Приводятся подробные сведения обо всех конструкциях языка: классах, объектах, свойствах, методах и полях, о наследовании и интерфейсах, делегировании и событиях. Последовательно рассматриваются операторы языка, типы данных, форматы и преобразования. Отдельные главы книги содержат описание основных элементов интегрированной среды разработки Visual Studio .NET и сведения о применении современных графических средств GDI+, конструировании собственных пользовательских компонентов и работе с базами данных в ADO.NET. Книга насыщена большим количеством (около 400) разработанных автором конкретных примеров действующих программ. Содержание: Предисловие 17 Структура книги 17 Кому адресована эта книга 18 Об авторе 19 Глава 1. Первый проект в Visual Basic .NET 21NET Framework 21 Модуль и класс 22 Процедура Sub 23 Процедура Main 23 Метод WriteLine класса Console 23 Пространство имен и директива Imports 23 Зачем столько языков 25 Ваше первое приложение 25 Глава 2. Объектно-ориентированное программирование 29 Классы и объекты 29 Поля, свойства, методы и события 29 Инкапсуляция, наследование и полиморфизм 30 Объявление класса 30 Создание экземпляра класса 32 Перенос процедуры Main внутрь класса 33 Пространство имен 34 Конструкторы 36 Ключевые слова MyCIass и Me. 37 Вызов конструктора класса из другого конструктора того же класса 38 Методы 39 Вызов метода из конструктора 41 Свойства как средство ограничения доступа к полям класса 41 Свойства только для чтения и только для записи 43 Зависящие от индекса свойства 44 Статические свойства, поля и методы 45 Наследование 47 Объявление расширенного класса 47 Ключевое слово MyBase 48 Порядок вызова конструкторов 49 Запрещение наследования 50 Перегрузка методов 50 Переопределение методов 54 Абстрактные классы 54 Интерфейсы 57 Несколько интерфейсов 60 Расширение интерфейсов 60 Использование интерфейса в качестве типа данных 61 События 63 Делегаты 66 Использование делегатов в качестве типа данных 68 Класс Object 69 Глава 3. Базовые сведения о Visual Basic .NET 71 Типы данных 71 Деление на ноль у чисел с плавающей десятичной точкой не генерирует ошибку 72 Ключевые слова 73 Идентификатор 74 Escape-идентификатор 75 Объявление переменных 75 Директива Option Explicit 78 Время жизни переменной 78 Область видимости переменной 78 Префикс в имени переменной 79 Комментарии 79 Соглашения по форматированию кода 80 Как перенести строку кода 80 Расположение нескольких операторов в одной строке 81 Массивы 81 Инициализация одномерного массива 81 Инициализация многомерного массива 82 Разнотипные элементы, хранящиеся в массиве 82 Определение верхней границы индекса 82 Удаление массива из памяти 83 Массив как объект 83 Динамические массивы 85 Создание последовательности случайных чисел 87 Получение очередного случайного числа 87 Привязка генерации последовательности псевдослучайных чисел к моменту времени 88 Получение случайного числа из указанного целочисленного диапазона 88 Вывод информации в окно Debug 88 Константы 89 Встроенные константы 89 Использование обрамляющих и дополнительных символов для спецификации типа констант 89 Применение перечисления для работы с множеством констант 90 Тип данных, определенный пользователем 91 Структура с конструктором и методом 92 Структура со свойствами 93 Явное и неявное преобразование типов 94 Класс Convert 96 Перехват ошибки при преобразовании типов 96 Директива Option Strict 96 Операции 97 Математические операции 97 Побитовые операции 98 Операции отношения 98 Инструкция Option Compare 99 Логические операции 101 Приоритеты операций 101 Операторы присваивания 102 Класс Math 103 Функция форматирования данных 105 Пользовательские форматы 109 Класс MessageBox 112 Операторы управления 116 Оператор условного перехода 116 Оператор выбора 118 Оператор Try — Catch — Finally 119 Простейший звуковой сигнал 121 Оператор For — Next 121 Оператор For Each 122 Оператор While 123 Оператор Do — Loop 123 Почему вместо операции возведения в степень часто используют операцию умножения 125 Оператор безусловного перехода GoTo 126 Процедура 126 Вызов процедуры 129 Перегрузка процедуры 130 Функция 130 Вызов API-функции 132 Процедура с необязательными параметрами 133 Перегрузка процедур с необязательными параметрами 134 Использование неопределенного количества параметров 135 Передача параметров по ссылке и значению 136 Использование массива в качестве параметра процедуры 137 Рекурсивные процедуры 137 Таймер 138 Поток 140 Приостановка и прекращение выполнения потока 141 Приоритет выполнения потоков 141 Глава 4. Некоторые полезные классы 143 Строка 143 Конкатенация строк 144 Строка с кавычками 144 Строка как объект 145 Свойства и методы класса String 146 Возврат из строки указанного символа 146 Определение длины строки 146 Преобразование строки в массив символов 147 Получение подстроки данной строки 147 Возвращение индекса указанного элемента строки 147 Вставка в строку подстроки 148 Замена в строке указанного элемента 149 Удаление из строки указанного элемента 149 Возврат подстроки из данной строки 149 Идентификация начальных и конечных символов строки 150 Смена регистров написания букв 150 Усечение строки 151 Добавление пробелов или символов в начало или конец строки 151 Сравнение строк 152 Разбиение строки на подстроки 152 Копия строки 153 Объединение строк 153 Класс StringBuilder. 155 Возвращение специфицированного символа 155 Преобразование экземпляра класса StringBuilder в String 156 Присоединение строки в конец экземпляра класса StringBuilder 156 Вставка строки в экземпляр класса StringBuilder 157 Удаление символов из экземпляра класса StringBuilder 158 Замена подстроки в экземпляре класса StringBuilder. 158 Регулярные выражения 158 Поиск по шаблону 161 Возвращение нескольких значений в процессе поиска 161 Замена 162 Работа со временем и датами 162 Структура TimeSpan 163 Структура DateTime 167 Глава 5. Классы коллекции 173 Интерфейс /Enumerator 173 Интерфейс /Comparer 174 Интерфейс [Dictionary 174 Интерфейс /List 175 Класс ArmyList 176 Заполнение списка пользовательскими объектами 179 Класс BitArray ; 180 Класс Hashtable 182 Класс Stack 183 Класс Queue 185 Класс SorSedList 187 Глава 6. Исключения 189 Перехват исключений 189 Множественный оператор Catch 190 Порядок расположения блоков Catch 190 Блок Finally 191 Выход из оператора Try — Catch 192 Встроенные исключения 193 Конструкторы класса Exception 193 Оператор Throw 194 Создание пользовательского класса исключения 195 Глава 7. Работа с каталогами и файлами 197 Класс FileSystemlnfo 198 Класс Directory 199 Возвращение текущего каталога 201 Удаление каталога с подкаталогами 201 Создание каталога 202 Получение информации о каталоге 202 Корневой каталог текущего каталога 203 Подкаталоги каталога 203 Класс Directorylnfo 204 Создание и удаление каталога 205 Класс File 206 Перечисление FileAttributes 209 Перечисление FileMode 210 Перечисление FileAccess 211 Перечисление FileShare 211 Класс Filelnfo 211 Проверка существования файла 213 Имя родительского каталога 213 Получение информации обо всех файлах и подкаталогах данного каталога 214 Получение информации обо всех заданных по шаблону файлах и подкаталогах из данного каталога 214 Создание файла 215 Уд&чение файла 215 Перемещение файла 216 Копирование без перезаписи 216 Класс Path 217 Корневой каталог рабочего каталога 219 Имя файла и его расширения 219 Создание временного файла на диске 219 Класс FileStream и его конструкторы 220 Класс TextWriter 221 Класс TextReader 222 Классы StreamReaderи StreamWriter 222 Считывание данных из текстового файла за одну операцию 222 Еще раз о считывании данных из текстового файла 223 Построчное считывание данных из текстового файла 223 Определение числа строк в файле 224 Поблочное считывание данных из текстового файла и перемещение указателя 225 Запись данных в файл 226 Последовательное считывание данных из одного файла и их добавление в другой 226 Ввод данных из текстового файла в поле ввода 227 Запись данных в HTML-файл 228 Побайтовые операции с файлами 229 Класс Environment 231 Получение имени текущего каталога 232 Мониторинг файлов средствами класса FileSysiemWatcher 232 Запуск из программы другого приложения 235 Глава 8. Форма 236 Ваша первое Windows-приложение 236 Разбор кода первого Windows-приложения 239 Создание формы в коде 240 Установка цвета формы 241 Установка цвета шрифта 241 Установка и удаление фонового рисунка 242 Прозрачная форма 242 Прозрачность указанного цвета формы 243 Первый подход к обработке событий 244 Создание обработчика события с помощью редактора кода 245 Активизация и деактивизация формы 245 Основные события, связанные с мышью и клавиатурой 246 Определение нажатой кнопки мыши 246 Использование одного обработчика событий для различных событий 247 Второй подход к обработке событий 248 Создание обработчика события с помощью редактора кода 248 Идентификация точки двойного щелчка 249 Закрытие окна 249 Генерация запроса на подтверждение команды закрытия формы 250 Как отменить действие кнопки Close 251 Рисование и вывод текста в форме 251 Перерисовка изображения при изменении размеров формы 251 Обнаружение нажатой символьной клавиши или клавиши управления 252 Местоположение формы 253