Метод Parse
Статический Parse принимает текст с
именем константы и возвращает элемент
перечисления. Перегрузка
Parse<T> задаёт тип результата.
Параметр ignoreCase разрешает разный
регистр букв. Неверное имя вызывает
ArgumentException; без исключения
используют
TryParse.
Синтаксис
Mark res = Enum.Parse<Mark>("Read");
Mark res2 = Enum.Parse<Mark>("read", ignoreCase: true);
Пример
Давайте разберём имя "Read":
using System;
enum Mark { None = 0, Read = 1, Write = 2 }
class Program
{
static void Main()
{
Mark res = Enum.Parse<Mark>("Read");
Console.WriteLine(res);
}
}
Результат выполнения кода:
"Read"
Пример
Давайте разберём имя в другом регистре с
ignoreCase:
using System;
enum Mark { None = 0, Read = 1, Write = 2 }
class Program
{
static void Main()
{
Mark res = Enum.Parse<Mark>("write", ignoreCase: true);
Console.WriteLine(res);
}
}
Результат выполнения кода:
"Write"
Пример
Строка "abcde" не совпадает ни с одним
именем - такой вызов бросает
ArgumentException:
using System;
enum Mark { None = 0, Read = 1, Write = 2 }
class Program
{
static void Main()
{
Enum.Parse<Mark>("abcde");
}
}
Для проверки строки без сбоя подходит
TryParse.