К содержимому
Типичные ошибки C# и как их исправить: страница 5
Как работает сборщик мусора в .NETКак устроена сборка мусора в .NET: поколения объектов, этапы Mark, Sweep и Compact, триггеры запуска GC и причины утечек памяти.
Преобразование List производного класса в List базовогоКак преобразовать список производного класса в список базового в C#: ковариантность IEnumerable, методы Cast и ToList, ограничения и частые ошибки.
Класс или структура в C#: как выбратьЧем класс отличается от структуры в C#: ссылочные и значимые типы, размещение в памяти, копирование, наследование и критерии выбора для ваших данных.
Запуск приложения с правами администратора в C#Как запросить права администратора для приложения на C#: манифест requireAdministrator, программный перезапуск с повышением прав и обработка отказа.
Паттерн MVVM в C#: подробное руководствоПаттерн MVVM в C# на примере WPF: модель, представление и ViewModel, привязка данных, команды и уведомления об изменениях, с пошаговыми примерами кода.
NullReferenceException в C#: причины и исправлениеПочему возникает NullReferenceException в C#, как найти строку с ошибкой по стеку вызовов и как её исправить проверками null, ?. и nullable-контекстом.
Лучшие профилировщики для .NET приложенийОбзор профилировщиков для .NET приложений: dotTrace, Visual Studio Diagnostic Tools, ANTS Performance Profiler, PerfView и NProfiler, их возможности и отличия.
Освобождение ресурсов Excel Interop в C#Как правильно закрыть Excel Interop в C#, чтобы процесс не оставался в памяти: Quit, Marshal.ReleaseComObject и порядок освобождения.
Generic-методы только для чисел в C#Как ограничить generic-метод числовыми типами в C#: where struct, интерфейсы, INumber и generic math в .NET 7, а также обходные пути для старых версий.