Важные темы C#

Сопоставление с образцом (pattern matching) в C#

В этом уроке вы с помощью выражения switch с шаблонами аккуратно и безопасно проверите тип и значение данных.

Введение

Сопоставление с образцом (pattern matching) позволяет в одном выражении проверить тип значения, проверить условие и сразу извлечь данные для использования. Оно заменяет проверку типа с последующим ручным приведением, что длинно и чревато ошибками.

Выражение switch в функции Describe проверяет шаблоны по порядку: null для отсутствующих данных, int number when number > 0 для положительных целых, string { Length: > 0 } для непустых строк и _ для всех остальных случаев. Для значения 12 подходит шаблон положительного целого, и результат positive 12.

Как это работает

Двигайте ползунок, чтобы менять день. Программа сразу переходит к подходящему case, а если ничего не подходит - к default.

Пример на C#, который можно запустить

C#
Запустить код →
Program.cs
using System;

class Program
{
    static string Describe(object? value) => value switch
    {
        null => "missing",
        int number when number > 0 => $"positive {number}",
        string { Length: > 0 } text => $"text: {text}",
        _ => "other"
    };

    static void Main() => Console.WriteLine(Describe(12));
}
Результат выполнения
positive 12

Практика с отладчиком

Поставьте точку останова на важное присваивание или условие, нажмите Debug и посмотрите локальные значения, прежде чем перейти к следующей строке.

Попрактикуйтесь на задаче

Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.

Все задачи