Рубрика: .NET и C#
Платформа .NET, язык C#, библиотеки, приёмы и полезные проекты с открытым кодом. Статей в рубрике: 13.
Рассказываем, как превращать объекты C# в текст и обратно: чем XML-сериализация отличается от JSON, какие атрибуты управляют форматом, как обрабатывать ошибки и версии данных. С примерами кода и таблицей сравнения форматов.
Показываем, как читать и записывать файлы в C#, чем отличаются File, StreamReader и FileStream и зачем нужен using. Разбираем кодировки, большие файлы, асинхронный ввод-вывод и типичные ошибки, из-за которых файлы остаются заблокированными.
Разбираем, что такое делегаты и события в C#, чем они отличаются и как применять их на практике. Примеры с Action, Func, анонимными методами, лямбдами и безопасной подпиской на события.
Объясняем, как сборщик мусора в .NET управляет памятью: поколения объектов, куча больших объектов, финализаторы и освобождение ресурсов. Даём практические советы, как писать код, который не создаёт лишней нагрузки.
Как правильно ловить, выбрасывать и логировать исключения в C# и .NET. Разбираем типичные антипаттерны, использование finally и using, собственные типы ошибок и принципы, которые делают код предсказуемым.
Знакомимся с LINQ в C#: как выбирать, фильтровать, сортировать и группировать данные одним выражением. Разбираем синтаксис, отложенное выполнение, типичные ловушки и примеры, которые пригодятся в каждом проекте.
Практическое руководство по классу Regex в .NET: синтаксис, группы, замены, опции и производительность. С примерами кода и типичными ловушками, в которые попадают даже опытные разработчики.
ADO.NET остаётся фундаментом доступа к данным в мире C#. Разбираем соединения, команды, параметры, DataReader, DataSet и транзакции, показываем рабочие примеры и типичные ошибки, из-за которых приложения тормозят и текут.
Разбираем, как в .NET запускать код параллельно: класс Thread, пул потоков, ThreadPool и Task. Объясняем синхронизацию, типичные гонки и взаимные блокировки и показываем, когда какой инструмент выбрать.
Как сжимать и распаковывать данные в .NET без сторонних библиотек: GZipStream, DeflateStream, работа с ZIP-архивами через ZipFile и ZipArchive. Примеры кода на C#, нюансы потоков и типичные ошибки.