Обучение программированию на C#: страница 6
Основы C#Углублённое изучениеОшибки и их решенияGUI и визуальные компонентыДанные и базы данныхИнструменты и среды разработки
Динамическая компиляция кода в C#Как скомпилировать и выполнить код C# во время работы программы: Roslyn, CSharpCodeProvider, загрузка сборок и вопросы безопасности.
Поиск минимума и максимума по свойству в LINQКак найти объект с наименьшим или наибольшим значением свойства в C# через LINQ: Min, Max, OrderBy, Aggregate и MinBy/MaxBy.
Строка в перечисление enum в C#Как превратить строку в значение перечисления в C#: Enum.Parse, Enum.TryParse, учёт регистра, числовые строки и безопасная обработка неверных значений.
Возврат Task или async/await в C#Когда метод лучше возвращать как Task, а когда помечать async/await: разница в поведении, накладные расходы и обработка исключений.
Математические функции в C# (Си Шарп)Справочник по математическим функциям C#: Math.Round, Pow, Sqrt, Log, Sin, Clamp и другие. Примеры кода, таблицы, подводные камни и частые вопросы.
GetHashCode и Equals в C#: правила переопределенияЗачем переопределять GetHashCode вместе с Equals в C#: как это влияет на Dictionary и HashSet и как правильно написать оба метода.
System.Type и обобщённые типы в C#Как использовать System.Type с generic-типами в C#: создание обобщённых классов во время выполнения через MakeGenericType и Activator.
Неявная типизация в C#: ключевое слово varКак работает var в C#: неявно типизированные переменные, где их уместно использовать, когда лучше указать тип явно и какие правила стоит соблюдать.
Оператор as и явное приведение типов в C#Как работают оператор as и явное приведение в C#: чем отличаются, когда возвращается null, а когда исключение, и как применять is с шаблонами.
Несколько значений из метода в C#Как вернуть из метода несколько значений в C#: параметры out, кортежи, классы и структуры, с примерами и советами по выбору.
Async/await внутри Parallel.ForEach в C#Почему Parallel.ForEach плохо сочетается с async/await в C# и чем его заменить: Task.WhenAll, SemaphoreSlim и Parallel.ForEachAsync.
Как возвести число в степень в C#Как возвести число в степень в C#: метод Math.Pow, цикл, бинарный алгоритм и BigInteger. Примеры кода, точность, ошибки и таблица выбора способа.
Чем отличается i++ от ++i в C#В чём разница между i++ и ++i в C#: когда значение возвращается до увеличения, а когда после, и как это влияет на результат выражения.
Основы языка C# для начинающихКраткий обзор C# для новичков: синтаксис, типы данных, условия, циклы, массивы, методы, классы и исключения, с примерами кода.
Отправка e-mail через Gmail SMTP в C#Как отправить электронное письмо через SMTP-сервер Gmail из C#: настройка SmtpClient, пароль приложения, SSL, вложения и разбор типичных ошибок авторизации.
Доступ к элементам управления между страницами ASP.NETКак работать с элементами управления на разных страницах ASP.NET на C#: ViewState, QueryString, Session, кросс-страничная отправка и пользовательские элементы.
Объект C# в JSON-строку: сериализация в .NETКак преобразовать объект C# в строку JSON: System.Text.Json и Newtonsoft.Json, настройки форматирования, атрибуты и обработка циклических ссылок.
Значение свойства через рефлексию в C#Как получить значение свойства объекта через рефлексию в C#: GetProperty, GetValue, доступ к приватным членам и влияние на производительность.
Классы C# из JSON: генерация и ручное созданиеКак создать классы C# из JSON: Visual Studio, онлайн-генераторы и ручное описание, атрибуты Json.NET и пользовательские конвертеры.
Как получить путь к exe-файлу приложения в C#Как получить путь к исполняемому файлу приложения на C#: Environment, AppDomain, Assembly и Process, чем они отличаются и что выбрать для .NET Core.
Добавление строки в DataGridView на C#Как добавить новую строку в DataGridView в C#: способы с привязкой данных и без неё, вставка в нужную позицию и обработка ошибок.
Получение свойств объекта в C# через рефлексиюКак получить список свойств объекта в C# через рефлексию: Type.GetProperties, PropertyInfo, фильтрация по атрибутам и модификаторам, с примерами кода.
Как узнать путь к сборке приложения на C#Как получить путь к сборке, в которой выполняется код: Assembly.GetExecutingAssembly, Location, CodeBase и разница между ними для .exe и .dll файлов.
Метод Contains в C# без учёта регистраКак искать подстроку в C# без учёта регистра: ToLower, StringComparison.OrdinalIgnoreCase, метод расширения для String и особенности разных культур.
Почему Thread.Abort в C# лучше не использоватьЧем опасен Thread.Abort в C#: прерывание в случайной точке, повреждённое состояние, проблемы с finally и ресурсами, и безопасные замены на CancellationToken.
Парсинг HTML в C#: выбор библиотеки и примерыКак разобрать HTML в C#: сравнение Html Agility Pack, AngleSharp и CsQuery, выбор элементов через XPath и CSS-селекторы, примеры кода.
Запуск командной строки в C# и чтение выводаКак запустить команду cmd из C# и получить её вывод: класс Process, перенаправление STDOUT и STDERR, ожидание завершения.
Генерация случайных чисел в C#Как получить случайное число в C#: Next и диапазон, Random.Shared, seed, уникальные числа, потоки и безопасная генерация для паролей.
Значимые и ссылочные типы в C#: в чём разницаЧем отличаются значимые и ссылочные типы в C#: хранение в стеке и куче, копирование, передача в методы, боксинг, с примерами кода и таблицей отличий.
Как получить имя свойства из лямбды в C#Как получить имя свойства из лямбда-выражения в C#: Expression<Func<T>>, MemberExpression, оператор nameof и примеры универсального метода.