Я сталкиваюсь с неожиданным поведением при использовании Enum.TryParse.
Если у меня есть перечисление:
public enum MyEnum
{
ValueA,
ValueB,
ValueC
}
Затем я передаю числовое значение (в виде строки) в Enum.TryParse, например:
MyEnum outputEnum;
bool result = Enum.TryParse("1234", out outputEnum);
Несмотря на то, что строка «1234» не является возможным значением, результат вернется как истина, и мой outputEnum будет иметь значение 1234 .
Как я могу избежать такого поведения? Я пытаюсь написать функцию, которая будет обрабатывать произвольный строковый ввод как перечисление, и это немного повлияло на мое обнаружение неправильного ввода.