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

Метод TryParse

Статический TryParse принимает строку и аргумент out для результата типа перечисления. При успехе возвращает true и записывает значение; при неудаче - false. Для разбора без проверки используют Parse, который бросает ArgumentException.

Синтаксис

bool ok = Enum.TryParse<Mark>("Read", out Mark res);

Пример

Давайте успешно разберём строку "Read":

using System; enum Mark { None = 0, Read = 1, Write = 2 } class Program { static void Main() { bool ok = Enum.TryParse<Mark>("Read", out Mark res); Console.WriteLine(ok); Console.WriteLine(res); } }

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

True "Read"

Пример

Давайте передам строку "abcde":

using System; enum Mark { None = 0, Read = 1, Write = 2 } class Program { static void Main() { bool ok = Enum.TryParse<Mark>("abcde", out Mark res); Console.WriteLine(ok); Console.WriteLine(res); } }

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

False "None"

Пример

Давайте запишем результат только при успешном разборе:

using System; enum Mark { None = 0, Read = 1, Write = 2 } class Program { static void Main() { string text = "Write"; Mark res = Mark.None; if (Enum.TryParse<Mark>(text, out Mark parsed)) { res = parsed; } Console.WriteLine(res); } }

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

"Write"

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

  • метод Parse,
    который бросает исключение при ошибке
  • Enum,
    класс, где объявлен TryParse
  • ключевое слово enum,
    которым объявляют перечисление
  • Int32,
    базовый тип значений по умолчанию
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить