Об ИТ из Канады

Блог Михаила Флёнова - программист, блогер, автор нескольких скандальных книг какими-то глазами...

Библия C#

Книга посвящена программированию на языке C# для платформы Microsoft .NET, начиная с основ языка и разработки программ для работы в режиме командной строки и заканчивая созданием современных приложений различной сложности (баз данных, графических программ и др.). Материал сопровождается большим количеством практических примеров. Подробно описывается логика выполнения каждого участка программы. Уделено внимание вопросам повторного использования кода. Компакт-диск содержит примеры программ, дополнительную справочную информацию, а также готовые компоненты, тестовые программы и изображения.


Оглавление Введение 1
Благодарности 5
Бонус 5
Структура книги 5

Глава 1. Введение в .NET

7
1.1. Платформа .NET 7
1.1.1. Кубики .NET 8
1.1.2. Сборки 9
1.1.3. Язык программирования 11
1.2. Обзор среды разработки Visual Studio .NET 11
1.2.1. Работа с проектами и решениями 12
1.2.2. Панель Server Explorer 16
1.2.3. Панель Toolbox 17
1.2.4. Панель Solution Explorer 20
1.2.5. Панель Class View 23
1.2.6. Панель Properties 23
1.2.7. Работа с файлами 24
1.3. Простейший пример .NET-приложения 25
1.3.1. Проект на языке C# 25
1.3.2. Компиляция и запуск проекта на языке C# 26
1.4. Компиляция приложений 28
1.5. Поставка сборок 30
1.6. Формат исполняемого файла .NET 34

Глава 2. Основы C#

36
2.1. Комментарии 36
2.2. Переменные 37
2.3. Именование 40
2.4. Работа с переменными 44
2.4.1. Строки и символы 48
2.4.2. Массивы 50
2.4.3. Перечисления 53
2.5. Простейшая математика 56
2.6. Логические операции 62
2.6.1. Условный оператор if 62
2.6.2. Условный оператор switch 65
2.6.3. Сокращенная проверка 66
2.7. Циклы 66
2.7.1. Цикл for 67
2.7.2. Цикл while 70
2.7.3. Цикл do..while 71
2.7.4. Цикл foreach 71
2.8. Управление циклом 73
2.8.1. Оператор break 73
2.8.2. Оператор continue 74
2.9. Константы 75

Глава 3. Объектно-ориентированное программирование

77
3.1. Объекты в C# 77
3.2. Свойства 81
3.3. Методы 86
3.3.1. Описание методов 88
3.3.2. Параметры методов 91
3.3.3. Перегрузка методов 97
3.3.4. Конструктор 98
3.3.5. Статичность 102
3.3.6. Рекурсивный вызов методов 105
3.3.7. Деструктор 107
3.4. Метод Main() 109
3.5. Пространства имен 111
3.6. Начальные значения переменных 113
3.7. Объекты только для чтения 114
3.8. Объектно-ориентированное программирование 114
3.8.1. Наследование 115
3.8.2. Инкапсуляция 116
3.8.3. Полиморфизм 118
3.9. Наследование от класса Object 119
3.10. Переопределение методов 121
3.11. Обращение к предку из класса 124
3.12. Вложенные классы 125
3.13. Область видимости 127
3.14. Ссылочные и простые типы данных 129
3.15. Абстрактные классы 130
3.16. Проверка класса объекта 133

Глава 4. Консольные приложения

134
4.1. Украшение консоли 135
4.2. Работа с буфером консоли 137
4.3. Окно консоли 139
4.4. Запись в консоль 139
4.5. Чтение данных из консоли 142

Глава 5. Визуальный интерфейс

144
5.1. Визуальное приложение 144
5.1.1. Пространства имен 146
5.1.2. Потоки 148
5.1.3. Класс Application 149
5.2. Наследник Form для главной формы 150
5.2.1. Ресурсы программы 150
5.2.2. Файл для логики модуля 151
5.2.3. Именование формы 153
5.2.4. Код, сгенерированный дизайнером 153
5.2.5. Hello Visual World 157
5.3. Свойства формы 158
5.4. Методы формы 164
5.5. События на примере формы 164
5.6. Компоненты .NET 168
5.7. Общие компоненты 171
5.7.1. Button 172
5.7.2. CheckBox 175
5.7.3. CheckedListBox 175
5.7.4. ComboBox 178
5.7.5. DateTimePicker 180
5.7.6. Label и LinkLabel 182
5.7.7. ListBox 183
5.7.8. ListView 183
5.7.9. PictureBox 189
5.7.10. ProgressBar 190
5.7.11. RadioButton 191
5.7.12. TextBox 192
5.7.13. TreeView 192
5.8. Контейнеры 198
5.8.1. GroupBox 198
5.8.2. Panel 199
5.8.3. TabControl 199
5.8.4. FlowLayoutPanel и TableLayoutPanel 200
5.9. Меню и панели инструментов 202
5.9.1. MenuStrip 202
5.9.2. ContextMenuStrip 205
5.9.3. ToolStrip 206
5.9.4. StatusStrip 208

Глава 6. Продвинутое программирование

209
6.1. Приведение и преобразование типов 209
6.2. Объекты простых типов данных 211
6.3. Перечисления Enum 212
6.4. Структуры 216
6.5. Дата и время 218
6.6. Класс строк 221
6.7. Перегрузка операторов 223
6.7.1. Математические операторы 224
6.7.2. Операторы сравнения 227
6.7.3. Операторы преобразования 228
6.8. Тип var 230
6.9. Шаблоны 231

Глава 7. Интерфейсы

236
7.1. Объявление интерфейсов 237
7.2. Реализация интерфейсов 238
7.3. Использование реализации интерфейса 240
7.4. Интерфейсы в качестве параметров 243
7.5. Перегрузка интерфейсных методов 244
7.6. Наследование 247
7.7. Клонирование объектов 247

Глава 8. Массивы

250
8.1. Базовый класс для массивов 250
8.2. Невыровненные массивы 252
8.3. Динамические массивы 254
8.4. Индексаторы массива 257
8.5. Интерфейсы массивов 258
8.5.1. Интерфейс IEnumerable 259
8.5.2. Интерфейсы IComparer и IComparable 262
8.6. Оператор yield 265
8.7. Стандартные списки 266
8.7.1. Класс Queue 267
8.7.2. Класс Stack 268
8.7.3. Класс Hashtable 268
8.8. Типизированные массивы 270

Глава 9. Обработка исключительных ситуаций

274
9.1. Исключительные ситуации 274
9.2. Исключения в C# 277
9.3. Оформление блоков try 280
9.4. Ошибки в визуальных приложениях 282
9.5. Генерирование исключительных ситуаций 283
9.6. Иерархия классов исключений 285
9.7. Собственный класс исключения 286
9.8. Блок finally 289
9.9. Переполнение 290

Глава 10. События в C#

294
10.1. Делегаты 294
10.2. События и их вызов 295
10.3. Использование собственных делегатов 299
10.4. Делегаты изнутри 304
10.5. Анонимные методы 305
10.6. Динамическое создание компонентов 306

Глава 11. Формы

309
11.1. Диалоговые окна 310
11.2. Редактирование объектов 314
11.3. Специфичный результат 319
11.4. Немодальные окна 322
11.5. Многодокументный интерфейс 322

Глава 12. Небезопасное программирование

326
12.1. Разрешение небезопасного кода 327
12.2. Указатели 328
12.3. Память 332
12.4. Системные функции 334

Глава 13. Графика

337
13.1. Введение в Graphics 337
13.2. Рисование по событию Paint 340
13.3. Рисование без события Paint 341
13.4. Цвета 343
13.5. Перья 345
13.6. Кисти 348
13.7. Работа с картинками 349
13.8. Графический дизайнер 354
13.9. Рисование элементов списка ListBox 359

Глава 14. Хранение информации

364
14.1. Реестр 364
14.2. Файловая система 370
14.3. Текстовые файлы 375
14.4. Бинарные файлы 378
14.5. XML-файлы 382
14.5.1. Создание XML-документов 383
14.5.2. Чтение XML-документов 388
14.6. Потоки Stream 392
14.7. Потоки MemoryStream 393
14.8. Сериализация 395
14.9. Отключение сериализации 398
14.10. Особенности сериализации 399
14.11. Управление сериализацией 402

Глава 15. Многопоточность

405
15.1. Класс Thread 406
15.2. Передача параметра в поток 410
15.3. Потоки с использованием делегатов 411
15.4. Конкурентный доступ 414
15.5. Доступ к компонентам 417
15.6. Пул потоков 420
15.7. Домены приложений .NET 421

Глава 16. Базы данных

425
16.1. ADO.NET 425
16.2. Строка подключения 428
16.3. Подключение к базе данных 433
16.4. Пул соединений 435
16.5. Выполнение команд 437
16.6. Транзакции 439
16.7. Наборы данных 441
16.8. Чтение результата запроса 446
16.9. Работа с процедурами 448
16.10. Методы OleDbCommand 454
16.11. Отсоединенные данные 456
16.12. Адаптер DataAdapter 460
16.12.1. Конструктор 461
16.12.2. Получение результата запроса 461
16.12.3. Сохранение изменений в базе данных 462
16.12.4. Связанные таблицы 465
16.12.5. Добавление данных 466
16.12.6. Удаление данных 468
16.13. Набор данных DataSet 469
16.13.1. Хранение данных в DataSet 469
16.13.2. Класс DataRow 472
16.13.3. Класс DataColumn 474
16.13.4. Таблица DataTable 476
16.14. Таблицы в памяти 477
16.15. Выражения 479
16.16. Ограничения 481
16.17. Манипулирование данными 483
16.17.1. Добавление строк 483
16.17.2. Редактирование данных 485
16.17.3. Поиск данных 487
16.17.4. Удаление строк 487
16.18. Связанные данные 488
16.19. Ограничение внешнего ключа 492
16.20. Фильтрация данных 500
16.21. Представление данных DataView 502
16.22. Схема данных 506

Глава 17. Повторное использование кода

509
17.1. Библиотеки 509
17.2. Создание библиотеки 510
17.3. Приватные сборки 514
17.4. Общие сборки 517
17.5. Создание пользовательских компонентов 519
17.6. Установка компонентов 527

Глава 18. Удаленное взаимодействие

529
18.1. Удаленное взаимодействие в .NET 530
18.2. Структура распределенного приложения 531
18.3. Общая сборка 533
18.4. Сервер 534
18.5. Клиент 538
Заключение 541
Приложение. Описание компакт-диска 542
Список литературы 543
Предметный указатель 544
X Оглавление Оглавление IX

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Внимание!

А ты уже читал мою последнюю книгу о больших сайтах и приложениях? Узнай, что это такое здесь

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповидания на русском или английском языке.

Пишите мне