О разделе
Длинные листинги (от ~15 строк) вынесены в каталог code.spirzen.ru и подгружаются в статьях через ExternalCodeEmbed — так HTML энциклопедии не раздувается, а код остаётся с подсветкой, вкладками и сериями "шаг 1…N". Короткие фрагменты (одна строка, пара выражений) по-прежнему прямо в markdown. Диаграммы mermaid и интерактив — на месте или в play.spirzen.ru.
Раздел посвящён языку C# и экосистеме .NET. Материалы рассчитаны на разработчиков и архитекторов — от первого проекта до углублённых тем (LINQ, async, ООП, веб, производительность). Массовая загрузка и bulk (отличие от "LINQ в цикле + SaveChanges") — Пакетная работа с данными; LINQ к БД — LINQ - язык интегрированных запросов.
Сначала: Что такое код и как он работает — общая база — код, блок кода, компиляция и интерпретация, исходный, байт- и машинный код; в этом разделе — синтаксис и особенности языка.
Теория — процессы и потоки, мьютексы и гонки.
В C# — async/await, Task, пул потоков CLR; см. статьи раздела про параллелизм и асинхронность после основ синтаксиса.
В вводной статье по C# и материалах про .NET цепочка "исходник → IL → CLR" по возможности показана псевдокодом до синтаксиса C#.
Маршруты обучения
- Маршрут .NET-разработчика от Junior к Senior — пошаговый план по уровням и срокам.
- Выбор архитектуры и стека под сценарий — admin, API, e-commerce, real-time, SaaS.
- Вопросы на собеседование .NET и C# — шпаргалка Junior–Senior.
С чего начать
- C# — язык платформы .NET — проекты, сборки,
using, консоль. 1a. Visual Studio — IDE для разработки на C# — установка, интерфейс, возможности IDE (рекомендуется перед первой программой). 1b. Main и top-level statements — точка входа —Program.cs, exe vs library. - Синтаксис и пунктуация, переменные, типы и приведения.
- Пространства имён, nullable. Исключения: теория → Обработка исключений в C#, Иерархия классов исключений в C#.
- ООП в C#, коллекции и кортежи, LINQ (справочник операторов).
- Данные: EF Core — первая программа или ADO.NET / Dapper, обзор — БД и ORM. СУБД — SQL Server, PostgreSQL, SQLite, MySQL.
Общие принципы (код, ООП, выполнение) — в Код и разработка. Перед ООП в C#: парадигмы и ООП — о разделе. Здесь — особенности C# и .NET.
C# для Unity
Unity-скрипты — это обычный C# плюс API движка (UnityEngine). Если вы учите язык ради игр, не обязательно проходить весь раздел до ASP.NET — достаточно ветки ниже параллельно с Разработка на Unity. Готовые MonoBehaviour с разбором строк — Unity C# — скрипты для новичков.
| Тема в Unity | Статья C# | Комментарий |
|---|---|---|
Переменные, типы, if/for | Переменные и их области видимости, Преобразование типов и система типизации, Типы данных в C# (в т.ч. boxing и int?) | Основа до MonoBehaviour |
Классы, наследование, GetComponent | Объектно-ориентированное программирование в C# — блок Unity | MonoBehaviour, композиция |
List, Dictionary, Stack, HashSet | Коллекции и структуры данных в C# | Инвентарь, пулы, лут |
enum, свойства get/set | Объектно-ориентированное программирование в C#, Типы данных в C# | Состояние игрока, KeyCode |
static, утилиты без сцены | Объектно-ориентированное программирование в C# | LevelRestart, хелперы |
Делегаты, event | Рекомендации по разработке на C# | UI ↔ GameManager |
| Generics | Обобщения (generics) | Обобщённые коллекции и API |
Полный маршрут "Unity + C#" шаг за шагом — в intro раздела "Разработка игр". Самопроверка — чек-лист 9.04/999.
В редакторе Unity используется профиль .NET, совместимый с игровым рантаймом (IL2CPP / Mono). Веб- и desktop-статьи этого раздела (ASP.NET, WPF) для первого игрового прототипа можно отложить.
Сравнение с Java
Приходите с Java или выбираете между двумя стеками — Сравнение C# и Java: среда выполнения CLR и JVM, синтаксис, async и virtual threads, ASP.NET Core и Spring, игры, Big Data, производительность и рынок (2026). Краткий FAQ — в итогах раздела.
История и эволюция
- История платформы .NET — NGWS, рождение C#, .NET Framework → Core → единый .NET, F#.
- Версии C# и .NET — справочная таблица — C# 1.0–14, LTS/STS, .NET Framework, NGen / R2R / Native AOT.
- Архитектурные особенности .NET — CLI, CLR, эволюция версий в контексте архитектуры.
Файл Синтаксис и пунктуация в C# в этом разделе — синтаксис и пунктуация, не хронология.
Справочник и углубление
- Вопросы на собеседование .NET и C# — карта типовых вопросов Junior–Senior (по мотивам ITVDN/DOU) и ссылки на статьи раздела.
- Справочник по синтаксису и возможностям C# — операторы, модификаторы,
Span, async. - Справочник языка C# (Microsoft Learn) — полный каталог language reference (869 разделов).
- Версии C# и .NET — справочная таблица — шпаргалка по версиям и поддержке.
- Справочник .NET API (BCL) — пространства имён .NET 10 и .NET Framework 4.8 / 4.8.1.
- Guid в C# — шпаргалка —
NewGuid,Parse/TryParse, форматы строки,Empty, сравнение. - Асинхронность и многопоточность, Task и async/await, класс
Thread, сеть и HTTP, производительность.
Десктоп на .NET
Общая теория окон, элементов и UI-потока — Архитектура десктопных приложений, Особенности разработки, раздел "Десктопные приложения".
| Стек | Теория / практика | Элементы UI | Примеры в Lab |
|---|---|---|---|
| WinForms | Windows Forms (WinForms) | Справочник по WinForms — элементы UI | C# WinForms и WPF — простые окна |
| WPF | Первая форма WPF — XAML, стили и шаблоны | Справочник по WPF — элементы UI | C# WinForms и WPF — простые окна |
| Windows-платформа | Разработка приложений для Windows (Microsoft Learn) | — | |
| UI-фреймворки .NET | Типы приложений на платформе .NET | — | |
| Кроссплатформа | MAUI — первая программа | мобильный раздел |
Галерея для лабораторной и курсовой — C# WinForms и WPF — простые окна: полный Program.cs, кнопка, TextBox, MessageBox, конвертер температуры, to-do с построчным разбором (аналог Tkinter в Lab для Python).
Веб на .NET
- ASP.NET — фреймворк, Web API, Minimal API и OpenAPI, FluentValidation, Polly и rate limiting, MediatR и pipeline, тесты — юнит и интеграция, Razor Pages, Identity — JWT и cookie, Blazor, справочник, документация Microsoft Learn
- Данные: EF Core, EF Core — продвинутое, ADO.NET / Dapper, обзор БД; практика СУБД — SQL Server, PostgreSQL, SQLite, MySQL
- Архитектура solution: Clean Architecture на ASP.NET Core
Внешние источники
- Документация C#
- Справочник языка C#
- .NET API
- ASP.NET Core 10
- NET-Mastery-Hub — дополнительная база знаний .NET на русском (Obsidian-vault, deep-dive по async, runtime, архитектуре); маршрут в энциклопедии — 475.
Актуальные примеры в разделе ориентированы на .NET 8+ и современный C# (nullable reference types, records, top-level statements). Упоминания Xamarin, Web Forms, LINQ to SQL — в контексте сопровождения legacy.
Зачем этот раздел
Подборка по "C# в энциклопедии: синтаксис, первая программа и смежные темы. Выберите один язык для старта, пройдите маршрут до первой рабочей программы — затем переходите к следующему языку или стеку.
С чего начать
| Шаг | Материал | Зачем |
|---|---|---|
| 1 | Visual Studio · Первая программа | IDE, затем запуск и синтаксис |
| 2 | ASP.NET Core | Углубление |
| 3 | MAUI | Углубление |
Частые ошибки при старте
| Ошибка | Что делать |
|---|---|
| Прыжки между языками | Закройте одну "первую программу", потом сравнивайте |
| Код без запуска | Выполните пример локально |
| Сразу большой фреймворк | Сначала база раздела, потом REST/UI |
Что попробовать
- Шаг 1 из таблицы.
- Три непонятных термина — найдите статьи в оглавлении раздела.
- Другой язык — только после своей рабочей первой программы.
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#
Типизация, набор правил определения типа данных значений языка.
81
---
Стек и куча
Стек и куча в .NET - различия областей памяти, жизненный цикл объектов и влияние на производительность.
Преобразование типов и система типизации
Преобразование типов и типизация в C# - строгие правила, явные и неявные приведения и безопасность операций.
Работа с типами данных в C#
Работа с типами в C# - строки, `StringBuilder`, коллекции и выбор структур данных под задачу.
Обработка значения null и nullable-типы
null — это специальное значение, которое означает отсутствие ссылки на объект. Это не число, не пустая строка, не логическое значение, а именно отсутствие значения.
Массивы, списки и диапазоны
Существует и особый инструмент для безопасной работы с памятью - это стековый и управляемый диапазоны.
Анонимные типы и кортежи
Анонимные типы и кортежи — материал энциклопедии Вселенная IT.
Объектно-ориентированное программирование в C#
Класс - это тип ссылочного вида, наследуемый от System.Object.
Обобщения (generics)
Параметры типа в C#, обобщённые классы и методы, ограничения where и типобезопасный код без лишнего boxing.
Ковариантность, контравариантность, инвариантность
Ковариантность, контравариантность и инвариантность в 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.
EF Core — продвинутое
Change Tracker, проблема N+1, массовые операции, value converters, оптимистичная блокировка и миграции без простоя в Entity Framework Core.
Веб-разработка и 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.
Валидация и устойчивость API
Проверка входных данных, устойчивость HTTP-вызовов и ограничение частоты запросов в production Web API на .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 с маршрутами подготовки, краткими ответами и ссылками на статьи энциклопедии.
Маршрут Junior → Senior
Пошаговый план изучения C# и .NET по уровням — от первой программы до архитектуры, производительности и собеседований.
Архитектура под сценарий
Какой шаблон проекта, слои, БД и интеграции подобрать для admin, API, e-commerce, real-time и SaaS на .NET.
Версии 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# и Java
Подробное сравнение C# и Java в 2026 году — среда выполнения, синтаксис, экосистема, веб, мобильная разработка, производительность и выбор языка.
C# — итоги
Итоги раздела «C#» — FAQ и краткие ответы по теме.
C# — чек-лист
Чек-лист раздела «C#» — вопросы для самопроверки.
C# — о разделе
Подборка материалов раздела C# в энциклопедии Вселенная IT — от синтаксиса до ASP.NET и современных возможностей языка.
Базовый разбор HTTP и HTTPS находится в отдельной статье — HTTP как основа веб-интеграций.
В подборках
Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:
Веб-разработка — ASP.NET - веб-платформа Microsoft, Веб-разработка и API на C#, PHP — о разделе, ASP.NET - фреймворк для веб-приложений, CSS — о разделе, Документация и практика ASP.NET (Microsoft Learn).
Бэкенд и серверная разработка — Платформа .NET — о разделе, C++ — о разделе, Java — о разделе, PHP — о разделе, Python — о разделе, Smalltalk — о разделе.