посвящена программированию на языке C# для платформы Майкрософт .NET, начиная с основ языка и разработки программ для работы в режиме командной строки и заканчивая созданием современных приложений различной сложности (баз данных, графических программ и др.). Материал сопровождается крупным количеством практических примеров. Детально описывается логика исполнения любого участка утилиты. Уделено внимание вопросам повторного эксплуатации кода. Во II-е издание внесены исправления и добавлена глава по сетевому программированию. CD содержит примеры программ, дополнительную справочную информацию, и готовые компоненты, тестовые утилиты и изображения.
Оглавление книги
Библия C#. 2-е изд. Фленов
ВВЕДЕНИЕ 1
БЛАГОДАРНОСТИ 5
БОНУС 7
СТРУКТУРА КНИГИ 9
ГЛАВА 1. ВВЕДЕНИЕ В .NET
11
1.1. Платформа .NET 11
1.1.1. Кубики .NET 12
1.1.2. Сборки 14
1.1.3. Язык программирования 15
1.2. Обзор среды разработки Visual Studio .NET 16
1.2.1. Работа с проектами и решениями 17
1.2.2. Server Explorer 20
1.2.3. Toolbox 22
1.2.4. Solution Explorer 24
1.2.5. Class View 27
1.2.6. Properties 28
1.2.7. Работа с файлами 28
1.3. Простейший пример .NET-приложения 29
1.3.1. Проект на языке C# 30
1.3.2. Компиляция и запуск проекта на языке C# 30
1.4. Компиляция приложений 33
1.5. Поставка сборок 34
1.6. Формат исполняемого файла .NET 38
ГЛАВА 2. ОСНОВЫ C#
41
2.1. Комментарии 41
2.2. Переменная 42
2.3. Именование 45
2.4. Работа с переменными 49
2.4.1. Строки и символы 52
2.4.2. Массивы 54
2.4.3. Перечисления 57
2.5. Простейшая математика 60
2.6. Логические операции 64
2.6.1. Условный оператор if 65
2.6.2. Условный оператор switch 67
2.6.3. Сокращенная проверка 68
2.7. Циклы 68
2.7.1. Цикл for 69
2.7.2. Цикл while 71
2.7.3. Цикл do..while 72
2.7.4. Цикл foreach 73
2.8. Управление циклом 75
2.8.1. Оператор break 75
2.8.2. Оператор continue 75
2.9. Константы 77
2.10. Нулевые значения 77
ГЛАВА 3. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
79
3.1. Объекты на C# 79
3.2. Свойства 83
3.3. Методы 88
3.3.1. Описание методов 89
3.3.2. Параметры методов 91
3.3.3. Перегрузка методов 97
3.3.4. Конструктор 98
3.3.5. Статичность 101
3.3.6. Рекурсивный вызов методов 104
3.3.7. Деструктор 106
3.4. Метод Main() 108
3.5. Пространства имен 110
3.6. Начальные значения переменных 112
3.7. Объекты только для чтения 113
3.8. Объектно-ориентированное программирование 113
3.8.1. Наследование 114
3.8.2. Инкапсуляция 115
3.8.3. Полиморфизм 116
3.9. Наследование от класса Object 117
3.10. Переопределение методов 119
3.11. Обращение к предку из класса 121
3.12. Вложенные классы 122
3.13. Область видимости 124
3.14. Ссылочные и простые типы данных 126
3.15. Абстрактные классы 127
3.16. Проверка класса объекта 130
ГЛАВА 4. КОНСОЛЬНЫЕ ПРИЛОЖЕНИЯ
131
4.1. Украшение консоли 131
4.2. Работа с буфером консоли 134
4.3. Окно консоли 135
4.4. Запись в консоль 136
4.5. Чтение данных из консоли 138
ГЛАВА 5. ВИЗУАЛЬНЫЙ ИНТЕРФЕЙС
141
5.1. Приложение 141
5.1.1. Пространства имен 143
5.1.2. Потоки 145
5.1.3. Класс Application 146
5.2. Наследник Form для главной формы 147
5.2.1. Ресурсы программы 147
5.2.2. Файл для логики модуля 148
5.2.3. Именование формы 149
5.2.4. Код, сгенерированный дизайнером 150
5.2.5. Hello Visual World 153
5.3. Свойства формы 154
5.4. Методы формы 159
5.5. События на примере формы 160
5.6. Компоненты .NET 163
5.7. Общие компоненты 166
5.7.1. Button 167
5.7.2. CheckBox 170
5.7.3. CheckedListBox 170
5.7.4. ComboBox 173
5.7.5. DateTimePicker 175
5.7.6. Label и LinkLabel 176
5.7.7. ListBox 177
5.7.8. ListView 178
5.7.9. PictureBox 183
5.7.10. ProgressBar 184
5.7.11. RadioButton 185
5.7.12. TextBox 186
5.7.13. TreeView 186
5.8. Контейнеры 191
5.8.1. GroupBox 191
5.8.2. Panel 192
5.8.3. TabControl 192
5.8.4. FlowLayoutPanel и TableLayoutPanel 193
5.9. Меню и панели инструментов 195
5.9.1. MenuStrip 195
5.9.2. ContextMenuStrip 197
5.9.3. ToolStrip 199
5.9.4. StatusStrip 200
ГЛАВА 6. ПРОДВИНУТОЕ ПРОГРАММИРОВАНИЕ
201
6.1. Приведение и преобразование типов 201
6.2. Все в .NET это объекты 203
6.3. Работа с перечислениями Enum 204
6.4. Структуры 207
6.5. Дата и время 209
6.6. Класс строк 211
6.7. Перегрузка операторов 213
6.7.1. Математические операторы 214
6.7.2. Операторы сравнения 216
6.7.3. Операторы преобразования 217
6.8. Тип var 219
6.9. Шаблоны 220
ГЛАВА 7. ИНТЕРФЕЙСЫ
225
7.1. Объявление интерфейсов 225
7.2. Реализация интерфейсов 227
7.3. Использование реализации интерфейса 229
7.4. Интерфейсы в качестве параметров 232
7.5. Перегрузка интерфейсных методов 232
7.6. Наследование 235
7.7. Клонирование объектов 235
ГЛАВА 8. МАССИВЫ
239
8.1. Базовый класс для массивов 239
8.2. Невыровненные массивы 241
8.3. Динамические массивы 243
8.4. Индексаторы массива 245