Обучение программированию на C#: страница 7
Основы C#Углублённое изучениеОшибки и их решенияGUI и визуальные компонентыДанные и базы данныхИнструменты и среды разработки
Как разделить список на подсписки в C# через LINQКак разбить List на части одинакового размера в C# средствами LINQ: Skip и Take, GroupBy, метод Chunk и пример собственного расширения.
Как читать и разбирать XML-файлы в C#Как прочитать и разобрать XML в C#: XDocument и LINQ to XML, XmlDocument с XPath, потоковый XmlReader, десериализация, пространства имён и типичные ошибки.
Функция как параметр метода в C#: делегаты и лямбдыКак передать метод в другой метод на C#: делегаты, встроенные Func и Action, лямбда-выражения, с примерами кода и типичными сценариями применения.
Чем плох lock(this) в C# и чем его заменитьЧем опасен lock(this) в C#: внешний доступ к блокировке, взаимные блокировки и падение производительности, и как заменить его закрытым объектом.
Generic-метод через Type в C#Как вызвать generic-метод в C#, если тип известен только во время выполнения: MakeGenericMethod, Invoke, готовые примеры кода и частые ошибки.
Исключения IndexOutOfRange и ArgumentOutOfRange в C#Чем различаются IndexOutOfRangeException и ArgumentOutOfRangeException в C#, из-за чего возникают, как их предотвратить проверками и обработать через try-catch.
Как работает сборщик мусора в .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, а также обходные пути для старых версий.
Методы в C#: пример простой программыКак объявлять и вызывать методы в C#: структура метода, параметры, возвращаемое значение, перегрузка, с примером простой консольной программы.
Наследование в C# простыми словамиКак работает наследование в C#: базовые и производные классы, base, virtual и override, абстрактные классы, запрет наследования, с четырьмя понятными примерами.