На странице собраны вопросы по .NET — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, database, memory management.
Метод Dispose предназначен для освобождения управляемых и неуправляемых ресурсов, включая файлы, соединения и память Если Dispose не вызвать, ресурсы могут освобождаться с задержкой или не освобождаться вообще, что…
один из принципов ООП и SOLID объекты подклассов должны быть заменяемы объектами базовых классов без нарушения логики объекты производного класса должны без изменения поведения программы заменять экземпляры базового…
struct представляет собой значимый тип в .NET методы GetType и ToString унаследованы от System.ValueType → Object GetType возвращает runtime-тип, используя механизмы рефлексии Если ToString не переопределён, по…
Что такое Garbage Collection и как работает сборщик мусора в C#? компонент управления памятью платформы .NET автоматически удаляет недостижимые объекты выполняет маркировку и очистку памяти применяет поколенческий…
Интерфейс IDisposable: назначение и применение интерфейс IDisposable из .NET (System) его основное предназначение — управление ресурсами он определяет метод Dispose(), предназначенный для освобождения неуправляемых…
Что такое List<T> и чем отличаются Count и Capacity? List<T> — динамический обобщённый массив в .NET Count — фактическое количество элементов, значение хранится явно Capacity — объём внутреннего массива,…
Что такое Outbox Pattern и как он обеспечивает надежную доставку сообщений? интеграционный паттерн для надежного асинхронного взаимодействия сохраняет изменения в локальной таблице outbox одновременно с бизнес-данными…
Small Object Heap и Large Object Heap две области управляемой памяти .NET CLR Small Object Heap (SOH) — размещает объекты размером < 85 КБ Large Object Heap (LOH) — предназначен для объектов размером ≥ 85 КБ В SOH…
Технический контекст: ORM и загрузка связанных данных (Eager Loading) Split Queries выполняют несколько самостоятельных SQL-запросов вместо единого запроса с JOIN Помогают избежать проблемы "N+1", при которой один…
Что делает Synchronization Context? механизм из области асинхронного программирования (.NET, C#) скрывает детали синхронизации потоков при выполнении продолжения после await направляет код в требуемый контекст потока…
Упаковка (boxing) и распаковка (unboxing) в .NET тема: управление памятью и типами в .NET упаковка: преобразование значения типа-значения (value type) в ссылочный тип (object или интерфейс) как это работает: для…
Что представляет собой record в C# и чем он полезен? специальный тип данных, появившийся в C# начиная с версии 9 ориентирован на создание иммутабельных моделей данных использует сравнение по значению (value equality),…