Обеспечение параллелизма данных с помощью класса Parallel
Доступ к элементам пользовательского интерфейса во вторичных потоках
Обеспечение параллелизма задач с помощью класса Parallel
Асинхронные вызовы с помощью async/await
Знакомство с ключевыми словами async и await языка C# (обновление в версиях 7.1, 9.0)
Класс SynchronizationContext и async/await
Соглашения об именовании асинхронных методов
Асинхронные методы, возвращающие void
Асинхронные методы, возвращающие void и поддерживающие await
Асинхронные методы, возвращающие void и работающие в стиле "запустил и забыл"
Асинхронные методы с множеством контекстов await
Вызов асинхронных методов из неасинхронных методов
Ожидание с помощью await в блоках catch и finally
Обобщенные возвращаемые типы в асинхронных методах (нововведение в версии 7.0)
Локальные функции (нововведение в версии 7.0)
Асинхронные потоки (нововведение в версии 8.0)
Итоговые сведения о ключевых словах async и await
Определение специальных пространств имен
Разрешение конфликтов имен с помощью полностью заданных имен
Разрешение конфликтов имен с помощью псевдонимов
Создание вложенных пространств имен
Изменение стандартного пространства имен в Visual Studio
Сборки содействуют многократному использованию кода
Сборки устанавливают границы типов
Сборки являются единицами, поддерживающими версии
Сборки являются самоописательными
Установка инструментов профилирования C++
Заголовок файла операционной системы (Windows)
Код CIL, метаданные типов и манифест сборки
Отличия между библиотеками классов и консольными приложениями
Отличия между библиотеками классов .NET Standard и .NET Core
Построение и потребление библиотеки классов .NET Core
Построение клиентского приложения C#
Построение клиентского приложения Visual Basic
Межъязыковое наследование в действии
Открытие доступа к внутренним типам для других сборок
Использование атрибута assembly
Пакетирование сборок с помощью NuGet
Опубликование консольных приложений (обновление в версии .NET 5)