Оператор is
Оператор is проверяет тип значения и
возвращает true или false. Слева -
выражение, справа - тип или простой шаблон,
например string. Результат удобно
использовать в if
и switch.
Для приведения без исключения применяют
as.
Синтаксис
значение is тип
Пример
Давайте проверим, хранит ли object строку:
using System;
class Program
{
static void Main()
{
object obj = "abcde";
bool res = obj is string;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте получим false для несовпадающего
типа:
using System;
class Program
{
static void Main()
{
object obj = 5;
bool res = obj is string;
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
Пример
Давайте используем is в условии if:
using System;
class Program
{
static void Main()
{
object obj = "abcde";
if (obj is string)
{
Console.WriteLine("is string");
}
}
}
Результат выполнения кода:
"is string"
Пример
Давайте сразу получить переменную через шаблон
is string str:
using System;
class Program
{
static void Main()
{
object obj = "abcde";
if (obj is string str)
{
Console.WriteLine(str.Length);
}
}
}
Результат выполнения кода:
5