Содержание
ГЛАВА 1. Введение в .NET 10
1.1. Что такое .NET 11
1.2. История .NET 14
1.3. Поддерживаемые операционные системы 17
1.4. Как программировали раньше 18
1.4.1. Язык C и Windows API - традиционный подход 19
1.4.2. Язык C++ и библиотека базовых классов 19
1.4.3. Visual Basic 6.0 20
1.4.4. Язык Java 20
1.4.5. Модель компонентных объектов 21
1.5. Что предлагает нам .NET 22
1.6. Основные компоненты .NET 23
1.6.1. Три кита: CLR, CTS и CLS 23
1.6.2. Библиотека базовых классов 24
1.7. Язык C# 24
1.8. Сборки в .NET 27
1.9. Подробно о CTS 29
1.9.1. Типы классов 29
1.9.2. Типы интерфейсов 30
1.9.3. Типы структур 30
1.9.4. Типы перечислений 31
1.9.5. Типы делегатов 31
1.9.6. Встроенные типы данных 31
1.10. Подробно о CLS 32
1.11. Подробно о CLR 34
1.12. Пространства имен 34
ГЛАВА 2. Развертывание .NET и первая программа 37
2.1. Развертывание у заказчика 38
2.2. Развертывание у программиста. Установка Visual Studio Community 43
2.3. Первая программа с использованием Visual Studio 46
ГЛАВА 3. Основные конструкции языка C# 50
3.1. Исследование программы Hello, World! 51
3.1.1. Пространства имен, объекты, методы 51
3.3. Типы данных и переменные 54
3.3.1. Системные типы данных 54
3.3.2. Объявление переменных 55
3.3.3. Внутренние типы данных 56
3.3.4. Члены типов данных 56
3.3.5. Работа со строками 57
Члены класса System.String 58
Базовые операции 58
Сравнение строк 59
Поиск в строке 61
Конкатенация строк 63
Разделение и соединение строк 63
Заполнение и обрезка строк 65
Вставка, удаление и замена строк 65
Получение подстроки 66
Управляющие последовательности символов 66
Строки и равенство 67
Тип System.Text.StringBuilder 67
3.3.6. Области видимости переменных 68
3.3.7. Константы 70
3.4. Операторы 70
3.4.1. Арифметические операторы 70
3.4.2. Операторы сравнения и логические операторы 72
3.4.3. Операторы присваивания 74
3.4.4. Поразрядные операторы 74
3.5. Преобразование типов данных 75
3.6. Неявно типизированные локальные переменные 79
3.7. Циклы 80
3.7.1. Цикл for 81
3.7.2. Цикл foreach 81
3.7.3. Циклы while и do/while 82
3.8. Конструкции принятия решений 83
3.9. Массивы 85
3.9.1. Одномерные массивы 85
3.9.2. Двумерные массивы 87
3.9.3. Ступенчатые массивы 88
3.9.4. Класс Array. Сортировка массивов 89
3.9.5. Массив - как параметр 91
3.10. Кортежи 91
3.11. Как подсчитать количество слов в тексте 92
3.12. Вычисляем значение функции 93
3.13. Делаем консольный калькулятор 95
3.14. Графический калькулятор 97
3.15. Угадай число. Игра 100
ГЛАВА 4. Файловый ввод/вывод 103
4.1. Введение в пространство имен System.IO 104
4.2. Классы для манипуляции с файлами и каталогами 105
4.2.1. Использование класса DirectoryInfo 106
4.2.2. Классы Directory и DriveInfo. Получение списка дисков 108
4.2.3. Класс FileInfo 110
4.2.4. Класс File 113
4.2.5. Классы Stream и FileStream 114
4.2.6. Классы StreamWriter и StreamReader 116
4.2.7. Классы BinaryWriter и BinaryReader 117
4.3. Сериализация объектов 118
4.4. Вывод содержимого файла на C# 120
4.5. Работа с XML-файлом 123
4.6. Архивация файлов на C# 129
4.7. Подсчет количества слов в файле 131
ГЛАВА 5. Объектно-ориентированное программирование 133
5.1. Основы ООП 134
5.2. Классы и объекты 137
5.2.1. Члены класса 137
5.2.2. Ключевое слово class 138
5.2.3. Класс System.Object 141
5.2.4. Конструкторы 143
5.2.5. Деструкторы 144
5.2.6. Обращаемся сами к себе. Служебное слово this 145
5.2.7. Доступ к членам класса 146
5.2.8. Модификаторы параметров 147
5.2.9. Необязательные параметры 152
5.2.10. Именованные аргументы 152
5.2.11. Ключевое слово static 153
5.2.12. Индексаторы 155
5.2.13. Свойства 158
5.3. Перегрузка функций членов класса 158
5.3.1. Перегрузка методов 158
5.3.2. Перегрузка методов 160
5.3.3. Перегрузка операторов 161
5.4. Наследование и полиморфизм 163
5.4.1. Введение в наследование 163
5.4.2. Защищенный доступ 165
5.4.3. Запечатанные классы. Ключевое слово sealed 166
5.4.4. Наследование конструкторов 167
5.4.5. Сокрытие имен. Ключевое слово base 167
5.4.6. Виртуальные члены 169
5.4.7. Абстрактные классы 170
ГЛАВА 6. Интерфейсы, структуры и перечисления 172
6.1. Понятие интерфейса 173
6.2. Ключевые слова AS И IS 175
6.3. Интерфейсные свойства 176
6.4. Интерфейсы и наследование 177
6.5. Структуры 178
6.6. Перечисления 181
ГЛАВА 7. Обработка исключений 183
7.1. Введение в обработку исключений 184
7.2. Перехват исключений. Блоки try, catch, finally 186
7.3. Класс exception 188
7.4. Исключения уровня системы 190
7.5. Ключевое слово finally 191
7.6. Ключевые слова checked и unchecked 192
ГЛАВА 8. Коллекции и итераторы 194
8.1. Введение в коллекции 195
8.2. Необобщенные коллекции 198
8.3. Обобщенные коллекции 200
8.4. Класс Arraylist. Динамические массивы 202
8.5. Хэш-таблица. класс Hashtable 206
8.6. Создаем стек. Классы Stack И Stack<T> 209
8.7. Очередь. Классы Queue И Queue<T> 210
8.8. Связный список. Класс Linkedlist<T> 212
8.9. Сортированный список. Класс Sortedlist<Tkey, Tvalue> 215
8.10. Словарь. Класс Dictionary<Tkey, Tvalue> 217
8.11. Сортированный словарь: Класс Sorteddictionary<Tkey, Tvalue> 221
8.12. Множества: Классы Hashset<T> и Sortedset<T> 223
8.13. Реализация интерфейса Icomparable 225
8.14. Перечислители 226
8.16. Реализация интерфейсов Ienumerable и Ienumerator 227
8.17. Итераторы. ключевое слово Yield 228
ГЛАВА 9. Конфигурация сборок .NET 230
9.1. Специальные пространства имен 231
9.2. Уточненные имена или конфликты на уровне имен 233
9.3. Вложенные пространства имен. Пространство по умолчанию 234
9.4. Сборки .NET 235
9.4.1. Зачем нужны сборки? 235
9.4.2. Формат сборок 237
9.4.3. Однофайловые и многофайловые сборки 238
9.5. Создание сборки (dll) 239
9.6. Создание приложения, использующего сборку 243
ГЛАВА 10. Многопоточность и параллельное программирование 246
10.1. Параллельные коллекции 247
10.2. Библиотека распараллеливания задач 250
10.3. Класс Task 251
10.4. Ожидание задачи 255
10.5. Класс Taskfactory 258
10.6. Продолжение задачи 259
10.7. Возврат значения из задачи 259
ГЛАВА 11. Сетевое программирование 261
11.1. Пространство имен System .NET 262
11.2. Класс uri 263
11.3. Загрузка файлов (http и ftp) 264
11.4. Класс Dns. Разрешение доменных имен 268
11.5. Сокеты 269
11.5.1. Типы сокетов 269
11.5.2. Порты 270
11.5.3. Классы для работы с сокетами 271
11.6. Конвертер валют 272
11.7. Простой сканер портов 274
ГЛАВА 12. Создание приложения клиент/сервер 277
12.1. Принцип работы приложения 278
12.2. Разработка серверной части 278
12.3. Приложение-клиент 281
12.4. Многопоточный сервер 285
ГЛАВА 13. Разработка приложений для планшета под управлением Windows 10 293
13.1. Подготовка к созданию мобильных приложений 294
13.2. Проектирование графического интерфейса 298
13.3. Написание кода приложения 302
13.4. Компиляция и запуск приложения 303
Добавить комментарий