C#
Теорія
- 1. C#. Загальні відомості
- 2. Складові C#. Елементи мови. Типи даних. Ключові слова. Літерали
- 2.1. Ключові слова C#
- 2.2. Категорії (групи) типів даних у C#. Типи-значення. Посилальні типи
- 2.3. Базові типи даних мови C#. Приклади
- 2.4. Літерали
- 2.5. Змінні та константи. Ініціалізація змінної. Динамічна ініціалізація. Неявно-типізовані змінні
- 2.6. Тип string
- 2.7. Символьний тип даних char. Структура System.Char. Методи структури System.Char
- 2.8. Значення null. Типи даних, допускаючих значення null. Операції ?, ??
- 3. Операції
- 4. Управляючі оператори
- 4.1. Оператор умовного переходу if. Повна та скорочена форми. Конструкція if-else-if
- 4.2. Оператор вибору switch. Вкладені оператори switch
- 4.3. Оператор циклу while. Приклади
- 4.4. Оператор циклу for. Приклади
- 4.5. Оператор циклу do-while. Приклади
- 4.6. Цикл foreach. Призначення. Приклади
- 4.7. Оператори break, continue, goto
- 5. Масиви
- 5.1. Одновимірні масиви. Приклади розв’язку задач з одновимірними масивами. Масиви структур. Масиви класів. Ініціалізація масиву
- 5.2. Багатовимірні масиви. Ступінчаті масиви. Ініціалізація багатовимірних масивів
- 5.3. Посилання на масиви. Властивість Length. Присвоювання масивів
- 5.4. Неявно типізовані масиви. Ключове слово var
- 5.5. Масиви рядків. Приклади розв’язку найбільш поширених задач
- 6. Структури. Зчислення
- 6.1. Структури. Загальні поняття. Структурна змінна. Модифікатори доступу до структурної змінної. Приклади використання структур в програмі
- 6.2. Структури і методи. Ініціалізація структур. Конструктори в структурах. Властивості в структурах
- 6.3. Використання масивів у структурах. Масиви структур. Вкладені структури. Копіювання структур
- 6.4. Зчислення
- 7. Індексатори. Властивості
- 8. Інтерфейси. Використання інтерфейсів у програмах на C#
- 9. Класи
- 9.1. Загальні поняття. Об’єкти. Дані та методи в класах
- 9.1.1. Поняття класу. Загальна форма оголошення класу. Об’єкт класу. Поля класу. Приклади. Ключове слово this
- 9.1.2. Константні поля в класах. Ключові слова const, readonly
- 9.1.3. Ключове слово this. Призначення. Випадки застосування this у класах. Приклади
- 9.1.4. Ініціалізація в класах. Способи ініціалізації даних в класах. Ініціалізація змінних базових типів. Ініціалізатори об’єктів
- 9.2. Спеціальні функції класу
- 9.3. Динамічне виділення пам’яті. Оператор new. Виділення пам’яті для типів-значень, структур, перечислень, об’єктів класів. Виділення пам’яті для масивів
- 9.4. Методи в класах. Рекурсія
- 9.4.1. Поняття методу. Методи в класах. Повернення з методу. Оператор return. Методи без параметрів. Ключове слово void
- 9.4.2. Передача параметрів у методи
- 1. Передача параметрів у метод. Аргументи і формальні параметри. Приклади. Передача посилання на об’єкт класу в метод
- 2. Модифікатори параметрів ref і out. Приклади. Відмінності між модифікаторами ref і out
- 3. Змінна кількість аргументів у методах. Модифікатор params. Переваги. Приклади методів зі змінною кількістю аргументів
- 4. Передача масивів у методи за значенням. Приклади. Передача масивів структур, класів, зчислень у методи. Передача двовимірних масивів у методи. Повернення масиву з методу
- 5. Передача в метод одновимірних та багатовимірних масивів екземплярів класу як ref та out параметрів
- 6. Необов’язкові аргументи. Переваги. Приклади застосування необов’язкових аргументів. Неоднозначність в необов’язкових аргументах
- 7. Іменовані аргументи. Переваги використання. Приклади
- 9.4.3. Перевантаження методів у класах. Приклади. Переваги. Перевантаження конструкторів
- 9.4.4. Рекурсія. Приклади рекурсивних методів (функцій) в C#
- 9.4.5. Метод Main(). Способи оголошення. Передача аргументів у Main()
- 9.5. Інкапсуляція в класах. Ключові слова private, protected, public, internal
- 9.6. Статичні класи, методи, змінні. Статичні конструктори. Ключове слово static
- 9.7. Вкладені класи. Вкладені статичні класи. Оголошення та використання вкладених класів. Приклади
- 9.1. Загальні поняття. Об’єкти. Дані та методи в класах
- 10. Відношення між класами
- 11. Спадковість. Поліморфізм. Абстрактні класи
- 11.1. Спадковість. Основні поняття. Переваги та недоліки. Загальна форма. Найпростіші приклади. Модифікатор доступу protected
- 11.2. Використання конструкторів у класах при спадковості. Ключове слово base. Приклади
- 11.3. Доступ до елементів базового класу з успадкованого класу. Ключові слова base, new. Приклади
- 11.4. Приклади створення ієрархій класів з використанням успадкування
- 11.5. Поліморфізм
- 11.5.1. Використання посилання на базовий клас. Ключові слова as, is. Способи виклику методів з однаковими іменами в ієрархіях успадкування
- 11.5.2. Приклад доступу до методів та властивостей успадкованих класів з допомогою посилання на базовий клас
- 11.5.3. Поліморфізм. Пізнє та раннє зв’язування. Приклади. Передача в метод посилання на базовий клас. Ключові слова virtual, override, new
- 11.6. Абстрактні класи
- 11.7. Заборона успадкування. Ключове слово sealed. Особливості застосування
- 12. Перевантаження операторів
- 12.1. Перевантаження операторів. Загальні відомості. Перевантаження унарних операторів –, !, ++, – –
- 12.2. Перевантаження бінарних операторів. Перевантаження операторів +, –, *, /, %. Вкладення довільної логіки при перевантаженні
- 12.3. Перевантаження операторів порівняння ==, !=, >, <, >=, <=. Перевантаження логічних побітових операторів &, |, ^
- 12.4. Перевантаження оператора приведення типу (). Перевантаження операторів true–false. Перевантаження логічних операторів &&, ||
- 14. Делегати
- 14.1. Поняття делегату. Оголошення типу делегату. Використання делегатів у програмі. Групове перетворення методів
- 14.2. Використання делегатів, які посилаються на методи екземпляру класу. Приклад
- 14.3. Делегати. Групова адресація. Створення списків викликів методів
- 14.4. Анонімні функції. Анонімні методи. Повернення значення. Передача параметрів
- 14.5. Приклади передачі масивів, структур, класів анонімному методу
- 15. Лямбда-вирази
- 16. Події
- 17. Засоби вводу/виводу. Потоки
- 17.1. Поняття потоку. Архітектура потоків у C#. Потоки з опорними сховищами. Потоки з декораторами. Адаптери потоків
- 17.2. Клас Stream
- 17.3. Потоки з опорними сховищами
- 17.5. Адаптери потоків
- 17.5.1. Класи StreamReader, StreamWriter
- 17.5.2. Класи BinaryReader, BinaryWriter
- 18. Узагальнення (Generics)
- 18.1. Узагальнення. Основні поняття. Узагальнені класи та структури
- 18.2. Узагальнені інтерфейси. Синтаксис оголошення. Реалізація узагальнених інтерфейсів у класах
- 18.3. Узагальнені методи в класах. Синтаксис оголошення. Способи виклику
- 18.4. Узагальнені делегати
- 18.5. Упакування та розпакування. Необхідність застосування узагальнень
- 18.6. Обмежені типи в узагальненнях
- 18.7. Порівняння екземплярів узагальнених типів. Інтерфейси IComparable<T> та IEquatable<T>
- 18.8. Застосування узагальнень при успадкуванні та поліморфізмі
- 18.9. Ієрархії узагальнених типів. Коваріантність. Контраваріантність
- 20. Рефлексія, динамічно завантажувані збірки, пізнє зв’язування
- 20.1. Динамічна ідентифікація типів. Оператори is, as. Приклади
- 20.2. Рефлексія типів. Отримання метаданих типу. Простір імен System.Reflection. Клас System.Type. Способи отримання інформації про тип. Оператор typeof
- 20.3. Приклади отримання інформації про методи, інтерфейси, класи, структури, зчислення, делегати, поля типів, параметри методів, статистичні дані про типи
- 20.4. Динамічно завантажувані збірки. Клас Assembly. Методи Load() та LoadFrom()
- 20.5. Пізнє зв’язування. Виклик методу. Клас System.Activator. Метод Invoke()
- 20.6. Приклади застосування рефлексії на основі пізнього зв’язування
- 21. Атрибути
- ІІ. Бібліотека C#
- III. Елементи управління (шаблон Windows Forms Application)
- IV. ADO .NET
- 1. Загальні відомості
- 2. Приєднаний режим
Практика
- Microsoft Visual Studio 2017 – 2019
- Шаблон Console App (.NET Framework)
- 001 – Приклад створення Unit-тесту в MS Visual Studio 2017
- 002 – Приклад розробки програми, яка розміщується в різних файлах. Реалізація успадкування. Засоби Visual Studio 2019 розбиття програми на частини
- 003 – Розробка класу, що реалізує алгоритм лінійного пошуку
- 004 – Розробка узагальненого класу, що реалізує алгоритм сортування вибором
- 005 – Приклади застосування класу FileStream без використання додаткових потоків (декораторів, адаптерів)
- Шаблон Windows Forms
- 001 – Створення п’ятикутної форми
- 004 – Приклад розробки успадкованої форми
- 005 – Компонент Label. Програмне створення компоненту Label. Клас MessageBox. Зчислення DialogResult
- 006 – Компонент Button. Взаємодія компонент Label та Button. Подія MouseMove
- 007 – Вивчення подій MouseUp, MouseDown. Програмне формування компонента Label на формі
- 009 – Приклад створення немодальної форми. Модальні та немодальні форми
- 016 – Створення документу для роздруку. Елементи управління PrintDocument, PageSetupDialog, PrintDialog, PrintPreviewDialog
- 017 – Розробка програми демонстрації роботи з потоками виконання. Елемент управління BackgroundWorker. Сортування в потоках алгоритмами вставки, бульбашки, вибором
- Шаблон Console App (.NET Framework)
- Microsoft Visual Studio 2010
- Шаблон Windows Forms Application
- 001 – Створення додатку типу Windows Forms Application.
- 002 – Як вивести таблицю бази даних Microsoft Access в компонент DataGridView.
- 003 – Підключення бази даних Microsoft Access в MS Visual Studio.
- 004 – Перевід бази даних Microsoft Access у формат MS SQL Server.
- 005 – Приклад програмування події в C#. Розробка програми визначення площі поверхні кулі.
- 006 – Приклад створення та виклику нової форми в C#.
- 007 – Приклад створення Web-додатку в MS Visual Studio – C#.
- 008 – Приклад створення меню в C#. Елемент управління MenuStrip.
- 009 – C# (Курсова робота). Розробка програми автоматизації роботи диспетчера автовокзалу.
- 010 – C#. Розробка додатку копіювання файлів. Клас FileStream.
- 011 – C#. Приклад створення двовимірної матриці на формі. Аналог компоненту TStringGrid в Delphi.
- 012 – C#. Розробка програми читання та запису текстових файлів. Класи StreamWriter та StreamReader.
- 013 – Розробка програми рисування графіку функції двох змінних z = f(x, y)
- 014 – Приклад програми демонстрації основних операцій над даними таблиці MS SQL Server (SQLEXPRESS).
- 015 – Керування відображенням поточного часу в програмі. Компонент TTimer.
- 016 – Приклад розробки додатку демонстрації роботи списків та асоціативних масивів. Класи Dictionary, List, StreamRader.
- 017 – Реалізація концепцій “спадковості” та “поліморфізму” в об’єктно-орієнтованому програмуванні на прикладі побудови двох класів. Інтерфейси ICloneable та IEquatable.
- 018 – Розробка програми, яка демонструє використання запитів на мові LINQ.
- 019 – C# + Бази даних. Приклад створення звіту в локальній базі даних, яка розміщується в “*.mdf”-файлі. База даних типу Microsoft SQL Server
- 020 – Курсова робота. Розробка програми моніторингу забруднення навколишнього середовища
- 021 – Приклад розв’язку задачі, що обчислює характеристики геометричних фігур з використанням делегатів
- 022 – Приклад використання делегату для виклику анонімного методу. Розробка програми знаходження площі трикутника за формулою Герона
- 023 – Приклад створення звіту в додатку. Елемент управління Report Viewer. База даних Microsoft Access
- 024 – Розробка програми демонстрації роботи елементу управління DataGridView
- 025 – Курсова робота. Розробка програми ведення обліку матеріальних засобів (“Інвентаризація”). База даних Microsoft Access
- 026 – Приклад створення Unit-тесту в Microsoft Visual Studio 2010
- 028 – Розв’язок задачі про N ферзів. Курсова робота
- Шаблон WPF Application
- Шаблон ASP .NET Web Application
- Розподілені додатки
- Шаблон Windows Forms Application
Розв’язування задач
- Одновимірні масиви. Цикли for, while, do..while
- Одновимірні масиви. Цикли for, while, do…while в поєднанні з оператором умови if
- Рекурсія. Приклади розв’язку задач
- Приклад рішення задач, що використовують статичні дані та методи в класі
- Текстові файли. Розв’язування задач на зміну текстових файлів. Класи File, StreamReader, StreamWriter
⇑