👀 Оператор isОператор
is
проверяет, совместим ли результат выражения с указанным типом. Оператор также можно использовать
is
для сопоставления выражения с шаблоном, как показано в следующем примере:
static bool IsFirstFridayOfOctober(DateTime date) =>
date is { Month: 10, Day: <=7, DayOfWeek: DayOfWeek.Friday };
Здесь оператор
is
сопоставляет выражение с шаблоном свойства с вложенной константой и реляционными шаблонами.
Оператор is может быть полезен в таких случаях:
✔️ Проверка типа результата выражения в среде выполнения, как показано в следующем примере:
int i = 34;
object iBoxed = i;
int? jNullable = 42;
if (iBoxed is int a && jNullable is int b)
{
Console.WriteLine(a + b); // output 76
}
✔️ Проверка значения
null
, как показано в следующем примере:
if (input is null)
{
return;
}
Когда выражение сопоставляется с
null
, компилятор гарантирует, что ни один из перегруженных пользователем операторов
==
или
!=
не вызывается.
C#-о-мания