C# - язык программирования платформы .NET
C# как язык платформы .NET - устройство проекта, роль `.cs`-файлов и базовые принципы организации кода.
Что требуется знать перед началом изучения языка программирования C#
C# — это современный, типизированный язык программирования общего назначения, разработанный корпорацией Microsoft.
Справочник по конфигурациям в C#
Справочник-шпаргалка по конфигурациям в C — типы, синтаксис, стандартная библиотека, типовые паттерны. Не заменяет пошаговое обучение. Учебный курс — раздел.
Рекомендации по разработке на C#
Набор советов, правил, принципов и обычаев в разработке на этом языке.
Visual Studio — IDE для разработки на C#
Обзор Visual Studio — установка, интерфейс, решения и проекты, IntelliSense, сборка, отладка, тесты, Git и первая программа на C#.
Синтаксис и пунктуация в C#
Кавычки, точки, запятые, скобки и прочие знаки препинания.
Ключевые слова языка C#
Ключевые слова C# - назначение базовых конструкций языка и примеры их применения в типичном коде.
Встроенные функции и методы C#
Набор функций, которые включены в стандартную библиотеку языка.
Пространства имён в C#
Пространства имён в C# - организация модулей, `file-scoped namespace` и поддержание чистой структуры кода.
Управляющие конструкции и логические операторы
манипулировать данными (арифметические, логические, сравнительные операторы).
Условные выражения и ветвления
Самый базовый способ ветвления — оператор if. Он проверяет условие и, если оно истинно (true), выполняет блок кода.
Обработка исключений в C#
Обработка исключений в C# - типы исключений, `try/catch/finally` и практики надежного кода.
Иерархия классов исключений в C#
Платформо-зависимые исключения — например, PlatformNotSupportedException используется в кроссплатформенных API, когда функция недоступна на текущей ОС.
Первая программа на C#
Гайд по установке и настройке с написанием первой программы и её запуском.
Простые приложения на C#
Примеры простых и полезных консольных приложений с демонстрацией концепций языка.
Переменные и их области видимости
Где можно использовать переменную — зависит от области видимости (scope).
Типы данных в C#
Типизация, набор правил определения типа данных значений языка.
Стек и куча
Стек и куча в .NET - различия областей памяти, жизненный цикл объектов и влияние на производительность.
Преобразование типов и система типизации
Преобразование типов и типизация в C# - строгие правила, явные и неявные приведения и безопасность операций.
Работа с типами
Работа с типами в C# - строки, `StringBuilder`, коллекции и выбор структур данных под задачу.
Обработка значения null и nullable-типы
null — это специальное значение, которое означает отсутствие ссылки на объект. Это не число, не пустая строка, не логическое значение, а именно отсутствие значения.
Массивы, списки и диапазоны
Существует и особый инструмент для безопасной работы с памятью - это стековый и управляемый диапазоны.
Анонимные типы и кортежи
Анонимные типы и кортежи — материал энциклопедии Вселенная IT.
Объектно-ориентированное программирование в C#
Класс - это тип ссылочного вида, наследуемый от System.Object.
Обобщения (generics)
Обобщения (generics) в C# - параметризация типов для безопасного и переиспользуемого кода без потери производительности.
Ковариантность, контравариантность, инвариантность
Ковариантность, контравариантность и инвариантность в C# - правила вариативности обобщённых типов и практические примеры.
Коллекции и структуры данных в C#
Инструменты для хранения, обработки и манипулирования группами объектов.
LINQ - язык интегрированных запросов
LINQ в C# - запросы как конструкция языка, три части операции, IEnumerable и IQueryable, поставщики и стандартные операторы (по материалам Microsoft Learn).
Справочник по LINQ
Полный API LINQ в C# — классы Enumerable и Queryable, PLINQ, IAsyncEnumerable, операторы и практические ограничения.
Итераторы и ключевое слово yield
Итераторы и ключевое слово `yield` в C# - ленивое перечисление и создание последовательностей без лишних аллокаций.
Сериализация и десериализация объектов
В HTTP-запросах к API, сохранении настроек, обмене данными между микросервисами, кэшировании (например, в Redis) используется сериализация и десериализация.
Служебные классы и утилиты .NET
Служебные классы и утилиты .NET - системные флаги, вспомогательные API и настройка поведения приложений.
Делегаты, события и обратные вызовы
Делегаты, события и обратные вызовы в C# - модели подписки, реактивное поведение и слабая связанность компонентов.
Методы расширения и вложенные типы
Методы расширения и вложенные типы в C# - расширение API существующих классов и организация связанной логики.
Внедрение зависимостей (Dependency Injection) в C#
Dependency Injection в C# - внедрение зависимостей через контейнеры для гибкой архитектуры и тестируемого кода.
Лямбда-выражения и отложенная инициализация
Делегаты, лямбды и отложенная инициализация находят применение почти в каждом аспекте современной разработки на C.
Регулярные выражения в C#
Регулярные выражения в C# - паттерны поиска, валидации и извлечения данных из текстовых строк.
Синтаксический сахар и нововведения
Синтаксический сахар в C# - современные языковые нововведения для более выразительного и читаемого кода.
Асинхронное программирование, многопоточность и параллелизм
Асинхронность в C# — способ не блокировать поток на время ожидания (сеть, диск, БД).
Класс Thread в C# — создание, Start, фоновые потоки и практика
Как устроен System.Threading.Thread: связь с потоком ОС, ThreadStart, Start, Join, IsBackground, передача данных, отмена и когда предпочитают Task.
Task и async/await в C#
Task, Task<T>, async и await в C# — модель выполнения, ожидание, ошибки, отмена, дедлоки и рабочие паттерны для UI, ASP.NET Core и библиотек.
Инфраструктура .NET и метаданные сборок
Инфраструктура .NET и метаданные сборок - устройство артефактов, рефлексия и поддержка выполнения кода.
Управление ресурсами и профилирование производительности
Управление ресурсами и профилирование производительности в C# - контроль памяти, I/O и измерение узких мест.
Сетевое взаимодействие в C#
Сетевое взаимодействие в C# - от `HttpWebRequest` к `HttpClient`, практики HTTP-запросов и устойчивых интеграций.
Безопасность приложений на C#
Безопасность приложений на C# - защита данных, контроль доступа и практики безопасной разработки.
Работа с базами данных и ORM в C#
ADO.NET, LINQ, EF Core и Dapper в C# — выбор подхода, миграции, загрузка связей и практические примеры.
EF Core — первая программа
Code First с EF Core — консольное приложение, SQLite, миграции, CRUD и подключение к ASP.NET Core.
ADO.NET / Dapper — первая программа
Прямой доступ к SQLite через ADO.NET и микро-ORM Dapper — параметры, чтение, CRUD без EF.
Веб-разработка и API на C#
На смену монолитным SOA-подходам пришёл микросервисный стиль, в котором доминируют REST и всё чаще — gRPC. Это не просто меньше SOAP — это принципиально иные философии проектирования.
ASP.NET - фреймворк для веб-приложений
ASP.NET Core: хостинг, middleware, endpoint filters, policy pipeline, MVC и современный стек .NET.
Первая программа на ASP.NET Core
Минимальный Web API на ASP.NET Core — dotnet new, контроллеры, DI и Swagger.
Blazor — первая программа
Интерактивное Blazor Web App на .NET — компоненты, события, разбор Razor и запуск.
.NET MAUI — первая программа
Кроссплатформенное приложение на .NET MAUI — счётчик, XAML, разбор страницы и запуск.
Razor Pages — первая программа
Серверные HTML-страницы на ASP.NET Core — PageModel, формы, валидация и защита от CSRF.
Identity — JWT и cookie
ASP.NET Core Identity — JWT для API, cookie для Razor/MVC, роли, админ-зона и защита форм.
Тесты ASP.NET Core
xUnit, Moq для MVC-контроллеров, WebApplicationFactory, подмена БД, JWT и проверка HTTP pipeline.
Minimal API и OpenAPI
MapGet, группы маршрутов, валидация, TypedResults и документация Swagger/OpenAPI в ASP.NET Core с практическими сценариями.
MediatR и pipeline
IRequest, handlers, ISender и IPipelineBehavior — валидация FluentValidation, логирование и CQRS-light в стиле Clean Architecture на .NET.
Справочник по ASP.NET
Справочник-шпаргалка по ASP.NET — типы, синтаксис, стандартная библиотека, типовые паттерны. Не заменяет пошаговое обучение. Учебный курс — раздел.
Приложение с S3, PostgreSQL и ASP.NET Core Web API
Практический разбор сервиса на ASP.NET Core Web API с MinIO (S3) и PostgreSQL, архитектурой слоёв и маршрутом внедрения.
Практика C# на Microsoft Learn
В энциклопедии C# разобран язык и платформа (введение, синтаксис, ООП, LINQ).
Документация и практика ASP.NET (Microsoft Learn)
В энциклопедии ASP.NET разобран как платформа (обзор, справочник-шпаргалка, первая программа).
Популярные библиотеки и пакеты для C#
Популярные библиотеки и пакеты для C# — критерии выбора зависимостей, архитектурные компромиссы и практические примеры.
Пример реализации бэкенда на C#
Пример реализации бэкенда на C# — поэтапная сборка серверной логики, API, кэша и архитектурных слоёв.
Справочник по C#
Примечание — global используется в global::System.Int32 для разрешения коллизий имён с помощью глобального пространства имён.
Справочник языка C# (Microsoft Learn)
Полный каталог официального справочника языка C# — 869 разделов синтаксиса, операторов, директив и сообщений компилятора со ссылками на Microsoft Learn (RU).
Справочник .NET API (BCL)
Полный каталог пространств имён базовой библиотеки .NET для .NET 10, .NET Framework 4.8 и 4.8.1 со ссылками на Microsoft Learn (RU).
Собеседование .NET/C#
Шпаргалка по типовым вопросам Junior–Senior с маршрутами подготовки, краткими ответами и ссылками на статьи энциклопедии.
Версии C# и .NET
Сводка версий C#, платформы .NET и Visual Studio: ключевые нововведения, LTS/STS и ссылки на историю платформы.
Main и top-level statements — точка входа в .NET
Program.cs, static void Main, библиотека vs exe и OutputType; чем консольное приложение отличается от class library.
Guid в C# — шпаргалка
Тип System.Guid в .NET — генерация, парсинг, форматы строки, сравнение и типичные сценарии для ключей сущностей.
C# — итоги
Итоги раздела «C#» — FAQ и краткие ответы по теме.
C# — чек-лист
Чек-лист раздела «C#» — вопросы для самопроверки.
C# — о разделе
Подборка материалов раздела C# в энциклопедии Вселенная IT — от синтаксиса до ASP.NET и современных возможностей языка.