Проверка ввода с помощью TryParse в C#
В этом уроке вы безопасно превратите введённые пользователем данные в число с помощью TryParse, не прибегая к исключениям.
Открыть урок →Практикуйте C# и .NET с 25 выполняемыми упражнениями.
Попробовать C# онлайнВ этом уроке вы безопасно превратите введённые пользователем данные в число с помощью TryParse, не прибегая к исключениям.
Открыть урок →В этом уроке вы создадите простой калькулятор на выражении switch, который обрабатывает все операции и неверные случаи.
Открыть урок →В этом уроке вы выведете небольшой счёт с выровненными столбцами и отформатированными суммами с помощью интерполяции строк.
Открыть урок →В этом уроке вы вычислите дату повторной встречи с помощью типа DateOnly и узнаете, на какой день недели она приходится.
Открыть урок →В этом уроке вы безопасно выведете данные профиля пользователя, в котором некоторые поля могут быть пустыми.
Открыть урок →В этом уроке вы напишете метод, который с помощью кортежа возвращает сразу минимум, максимум и среднее.
Открыть урок →В этом уроке вы будете вести список задач с помощью записей и List<T> и отбирать ещё не выполненные.
Открыть урок →В этом уроке вы посчитаете, сколько раз каждое слово встречается в предложении, с помощью Dictionary, предварительно переведя текст в нижний регистр.
Открыть урок →В этом уроке вы с помощью HashSet оставите только различные теги, не учитывая регистр.
Открыть урок →В этом уроке вы сгруппируете студентов по оценке и вычислите средний балл каждой группы с помощью LINQ.
Открыть урок →В этом уроке вы построите цепочку запросов LINQ, чтобы отфильтровать, отсортировать и извлечь названия товаров, подходящих под условие.
Открыть урок →В этом уроке вы соедините список клиентов со списком заказов по коду клиента с помощью LINQ Join.
Открыть урок →В этом уроке вы извлечёте данные определённой страницы списка с помощью методов LINQ Skip и Take.
Открыть урок →В этом уроке вы защитите баланс счёта свойством, доступным снаружи только для чтения, и контролируемым методом пополнения.
Открыть урок →В этом уроке вы вычислите общую сумму зарплат разных типов сотрудников через абстрактный базовый класс.
Открыть урок →В этом уроке вы будете отправлять уведомления через интерфейс, чтобы легко менять или добавлять канал отправки, не трогая существующий код.
Открыть урок →В этом уроке вы с помощью записи и выражения with создадите новую версию заказа, не изменяя исходный.
Открыть урок →В этом уроке вы создадите обобщённый класс репозитория (repository), который может хранить данные любого типа, сохраняя безопасность типов.
Открыть урок →В этом уроке вы будете классифицировать значения разных типов с помощью шаблонов типа, сравнения и свойств.
Открыть урок →В этом уроке вы напишете метод расширения None() для любой последовательности, который проверяет, что ни один элемент не удовлетворяет условию.
Открыть урок →В этом уроке вы будете оповещать подписанные объекты при каждом изменении статуса заказа с помощью событий.
Открыть урок →В этом уроке вы одновременно запустите две независимые асинхронные задачи и дождётесь завершения обеих с помощью Task.WhenAll.
Открыть урок →В этом уроке вы превратите запись в JSON и снова прочитаете её, чтобы убедиться, что данные сохранились.
Открыть урок →В этом уроке вы создадите собственный тип исключения для бизнес-ошибки и будете перехватывать именно этот тип ошибки.
Открыть урок →В этом уроке вы с помощью точки останова посмотрите, как LINQ проверяет каждый элемент, и исправите неверное условие фильтра.
Открыть урок →