Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
10 of 1492 menu
◀ ▶

Оператор as

Оператор as выполняет безопасное приведение к ссылочному типу или Nullable. Слева - выражение, справа - целевой тип. При успехе возвращается приведённое значение, иначе null без исключения. Для проверки типа без приведения используют is. К значимым типам напрямую as не применяют - берут int? и другие nullable-формы.

Синтаксис

значение as тип

Пример

Давайте приведём object к строке:

using System; class Program { static void Main() { object obj = "abcde"; string res = obj as string; Console.WriteLine(res); } }

Результат выполнения кода:

"abcde"

Пример

Давайте получим null при неверном типе:

using System; class Program { static void Main() { object obj = 5; string res = obj as string; Console.WriteLine(res == null ? "null" : res); } }

Результат выполнения кода:

"null"

Пример

Давайте приведём упакованное число через int?:

using System; class Program { static void Main() { object obj = 5; int? res = obj as int?; Console.WriteLine(res); } }

Результат выполнения кода:

5

Пример

Давайте обработаем null после неудачного приведения к int?:

using System; class Program { static void Main() { object obj = "abcde"; int? res = obj as int?; Console.WriteLine(res == null ? "null" : res.ToString()); } }

Результат выполнения кода:

"null"

Смотрите также

  • оператор is,
    который только проверяет совпадение типа
  • оператор if,
    в котором проверяют результат на null
  • тернарный оператор ?:,
    который выбирает запасное значение
  • ветка else,
    которой обрабатывают неудачное приведение
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить