ЗМІСТ
ВСТУП.. 6
РОЗДІЛ 1. ОСНОВИ ПЛАТФОРМИ .NET.. 7
1.1. Основи платформи .NET. 7
1.2. Загальні відомості об'єктно-орієнтованого програмування. 9
1.3. Середовище Visual Studio .NET. 12
1.4 Консольні додатки. 12
РОЗДІЛ 2. ОСНОВНІ ПОНЯТТЯ МОВИ.. 15
2.1. Склад мови. 15
2.2. Типи даних. 22
2.3. Рекомендації по програмуванню.. 27
РОЗДІЛ 3. ЗМІННІ, ІМЕНОВАНІ КОНСТАНТИ, ОПЕРАЦІЇ І ВИРАЗИ.. 28
3.1. Змінні і іменовані константи. 28
3.2. Операції і вирази. 30
3.3. Лінійні програми. 44
РОЗДІЛ 4. ОПЕРАТОРИ.. 49
4.1. Вирази, блоки. 49
4.2. Оператори розгалуження. 49
4.3. Оператори циклу. 54
4.4. Обробка виняткових ситуацій. 59
РОЗДІЛ 5. КЛАСИ: ОСНОВНІ ПОНЯТТЯ.. 70
5.1. Привласнення і порівняння об'єктів. 72
5.2. Дані: поля і константи. 74
5.3. Методи. 75
5.4. Ключове слово this. 82
5.5. Конструктори. 82
5.6. Властивості 87
5.7. Рекомендації по програмуванню.. 91
РОЗДІЛ 6. МАСИВИ І РЯДКИ.. 92
6.1. Одновимірні масиви. 93
6.2. Прямокутні масиви. 95
6.3. Ступінчасті масиви. 96
6.4. Клас System.Array. 97
6.5. Клас Random.. 100
6.6. Оператор foreach. 105
6.7. Масиви об’єктів. 106
6.8. Символи і рядки. 108
6.9. Рекомендації з програмування. 117
РОЗДІЛ 7. КЛАСИ: ПОДРОБИЦІ 118
7.1. Перевантаження методів. 118
7.2. Рекурсивні методи. 119
7.3. Методи із змінною кількістю аргументів. 120
7.4. Метод Main. 121
7.5. Індексатори. 122
7.6. Операції класу. 127
7.7. Деструктор. 134
7.8. Вкладені типи. 134
7.9. Рекомендації по програмуванню.. 135
РОЗДІЛ 8. ІЄРАРХІЇ КЛАСІВ.. 136
8.1. Спадкоємство. 136
8.2. Віртуальні методи. 141
8.3. Абстрактні класи. 144
8.4. Безплідні класи. 146
8.5. Клас object 148
8.6. Рекомендації по програмуванню.. 151
РОЗДІЛ 9. ІНТЕРФЕЙСИ І СТРУКТУРНІ ТИПИ.. 152
9.1. Синтаксис інтерфейсу. 152
9.2. Реалізація інтерфейсу. 153
9.3. Робота з об'єктами через інтерфейси. Операції is і as. 157
9.4. Інтерфейси і спадкоємство. 158
9.5. Стандартні інтерфейси .NET. 162
9.6. Структури. 177
9.7. Перелічення. 180
9.8. Рекомендації по програмуванню.. 184
РОЗДІЛ 10. ДЕЛЕГАТИ, ПОДІЇ І ПОТОКИ ВИКОНАННЯ.. 185
10.1. Делегати. 185
10.2. Події 196
10.3. Багатопотокові додатки. 201
10.4. Рекомендації по програмуванню.. 209
РОЗДІЛ 11. РОБОТА З ФАЙЛАМИ.. 210
11.1. Потоки байтів. 214
11.2. Асинхронне уведення-виведення. 217
11.3. Потоки символів. 219
11.4. Двійкові потоки. 223
11.5. Консольне уведення-виведення. 226
11.6. Робота з каталогами і файлами. 226
11.7. Збереження об'єктів (серіалізація) 230
11.8. Рекомендації по програмуванню.. 233
РОЗДІЛ 12. ЗБІРКИ, БІБЛІОТЕКИ, АТРИБУТИ, ДИРЕКТИВИ.. 234
12.1. Збірки. 234
12.2. Створення бібліотеки. 236
12.3. Рефлексія. 240
12.4. Атрибути. 244
12.5. Простір імен. 246
12.6. Директиви препроцесора. 248
РОЗДІЛ 13. СТРУКТУРИ ДАНИХ, КОЛЕКЦІЇ І КЛАСИ-ПРОТОТИПИ.. 251
13.1. Абстрактні структури даних. 251
13.2. Простір імен System.Collections 254
13.3. Клас ArrayList 255
13.4. Класи-прототипи. 258
13.5. Створення класу-прототипу. 262
13.6. Узагальнені методи. 264
13.7. Часткові типи. 266
13.8. Типи, що обнуляються. 267
13.9. Рекомендації по програмуванню.. 268
РОЗДІЛ 14. ДОДАТКОВІ ЗАСОБИ С#. 269
14.1. Небезпечний код. 269
14.2. Регулярні вирази. 276
14.3. Документування у форматі XML. 286
ЛАБОРАТОРНІ РОБОТИ.. 288
Лабораторна робота 1. Лінійні програми. 288
Лабораторна робота 2. Розгалужені обчислювальні процеси. 289
Лабораторна робота 3. Організація циклів. 296
Лабораторна робота 4. Прості класи. 298
Лабораторна робота 5. Одновимірні масиви. 301
Лабораторна робота 6. Двовимірні масиви. 305
Лабораторна робота 7. Рядки. 308
Лабораторна робота 8. Класи і операції 310
Лабораторна робота 9. Спадкоємство. 315
Лабораторна робота 10. Структури. 319
Лабораторна робота 11. Інтерфейси і параметризовані колекції 324
СПИСОК ЛІТЕРАТУРИ.. 325
ДОДАТКИ.. 326
ВСТУП
Навчальний посібник призначений для поглибленого вивчення студентами об’єктно-орієнтованого програмування на мові C# - однієї з найперспективніших сучасних мов програмування. У даному посібнику, який представляє першу частину вивчення дисципліни "Розробка програм на платформі .NET" дається класична основа мови C# на прикладі консольних додатків. У наступному посібнику будуть розглянуті windows-додатки.
Окрім конструкцій мови розглядаються основні структури даних, які використовуються при написанні програм, класи бібліотеки, а також рекомендації по стилю і технології програмування. По ключових темах приводяться завдання для лабораторних робіт, кожна з яких містить до двадцяти однотипних варіантів з розрахунку на учбову групу студентів.
Мова С# як засіб навчання програмуванню володіє рядом безперечних переваг. Вона добре організована, строга, більшість її конструкцій логічні і зручні. Розвинені засоби діагностики і редагування коду роблять процес програмування приємним і ефективним. Могутня бібліотека класів платформи .NET бере на себе масу рутинних операцій, що дає можливість вирішувати складніші завдання.
Важливо, що С# є не учбовою, а професійною мовою, призначеною для вирішення широкого спектру завдань, і насамперед - в області створення розподілених застосувань, що швидко розвиваються. Тому базовий курс програмування, побудований на основі мови С#, дозволить студентам швидше стати затребуваними фахівцями - професіоналами.
РОЗДІЛ 1. ОСНОВИ ПЛАТФОРМИ .NET