Найти в Дзене
Ropedann | Кирилл Пашков

RoadMap: Погружение в C#

Оглавление

Этап 1: Введение в C#

  1. Знакомство с языком C# и платформой .NET.
  2. Написание первой программы с использованием .NET CLI.
  3. Использование Visual Studio: создание первой программы.
  4. Написание приложений для WSL.

Этап 2: Основы программирования на C#

  1. Консольный ввод-вывод.
  2. Арифметические операции.
  3. Поразрядные операции.
  4. Операции присваивания.
  5. Преобразования базовых типов данных.
  6. Условные выражения.
  7. Конструкция if..else и тернарная операция.
  8. Циклы.
  9. Массивы.
  10. Задачи с массивами.
  11. Методы и параметры методов.
  12. Возвращение значения и оператор return.
  13. Передача параметров по ссылке и значению. Выходные параметры.
  14. Массив параметров и ключевое слово params.
  15. Рекурсивные функции.
  16. Локальные функции.
  17. Конструкция switch.
  18. Перечисления (enum).

Этап 3: Классы, структуры и пространства имен

  1. Классы и объекты.
  2. Конструкторы, инициализаторы и деконструкторы.
  3. Класс Program и метод Main. Программы верхнего уровня.
  4. Структуры.
  5. Типы значений и ссылочные типы.
  6. Область видимости переменных.
  7. Пространства имен и глобальные пространства имен.
  8. Подключение пространств имен по умолчанию.
  9. Создание библиотек классов с помощью Visual Studio и .NET CLI.
  10. Модификаторы доступа.
  11. Свойства.
  12. Перегрузка методов.
  13. Статические члены и модификатор static.
  14. Установка пакетов Nuget.
  15. Константы и поля для чтения.
  16. Работа с null в ссылочных и значимых типах.
  17. Проверка на null, операторы ?. и ??.
  18. Псевдонимы типов и статический импорт.

Этап 4: Объектно-ориентированное программирование

  1. Наследование.
  2. Преобразование типов.
  3. Виртуальные методы и свойства.
  4. Скрытие методов и свойств.
  5. Абстрактные классы.
  6. Методы класса System.Object.
  7. Обобщенные типы и ограничения обобщений.
  8. Наследование обобщенных типов.

Этап 5: Обработка исключений

  1. Конструкция try..catch..finally.
  2. Блок catch и фильтры исключений.
  3. Типы исключений и класс Exception.
  4. Генерация исключений (throw).
  5. Создание собственных классов исключений.

Этап 6: Делегаты, события и лямбда-выражения

  1. Делегаты и их применение.
  2. Анонимные методы.
  3. Лямбда-выражения.
  4. События.
  5. Делегаты Action, Predicate, Func.
  6. Замыкания.

Этап 7: Интерфейсы

  1. Определение интерфейсов и их применение.
  2. Явная реализация интерфейсов.
  3. Интерфейсы в обобщениях.
  4. Интерфейсы ICloneable и IComparable.

Этап 8: Дополнительные возможности ООП

  1. Определение операторов и их перегрузка.
  2. Индексаторы.
  3. Методы расширения.
  4. Анонимные типы.
  5. Кортежи.
  6. Records.

Этап 9: Pattern Matching

  1. Паттерн типов, свойств, кортежей.
  2. Логические и реляционные паттерны.
  3. Паттерны списков.

Этап 10: Коллекции

  1. Работа с коллекциями (List<T>, Dictionary<T, V>, ObservableCollection).
  2. Итераторы и оператор yield.
  3. Span, индексы и диапазоны.

Этап 11: Работа со строками

  1. Класс System.String.
  2. Форматирование и интерполяция строк.
  3. Класс StringBuilder.
  4. Регулярные выражения.

Этап 12: Работа с датами и временем

  1. DateTime, DateOnly, TimeOnly.
  2. Форматирование дат и времени.

Этап 13: Многопоточность и асинхронность

  1. Класс Thread.
  2. Синхронизация потоков.
  3. Работа с Task.
  4. Асинхронные методы (async, await).

Этап 14: LINQ и Parallel LINQ

  1. Основы LINQ и фильтрация коллекций.
  2. Агрегатные операции.
  3. Parallel LINQ (AsParallel, AsOrdered).

Этап 15: Работа с файлами

  1. Чтение и запись файлов (File, StreamReader, StreamWriter).
  2. Работа с бинарными файлами (BinaryReader, BinaryWriter).
  3. Архивация файлов.

Этап 16: Работа с JSON и XML

  1. Сериализация JSON (JsonSerializer).
  2. Работа с XML (System.Xml, LINQ to XML, XmlSerializer).

Этап 17: Рефлексия

  1. Исследование типов через System.Type.
  2. Работа с методами, конструкторами, свойствами.
  3. Динамическая загрузка сборок.

Этап 18: Работа с сетями

  1. Протокол HTTP (HttpClient, HttpListener).
  2. Протокол TCP (TcpClient, TcpListener).
  3. Протокол UDP (UdpClient).

Этап 19: Паттерны проектирования

  1. Основы паттернов.
  2. Порождающие паттерны (Singleton, Factory).
  3. Структурные паттерны (Adapter, Proxy).
  4. Поведенческие паттерны (Strategy, Observer).
  5. Принципы SOLID.