Jurijus Zaksas
Искусственный Интеллект
(456586)
1 месяц назад
Потому что твое перечисление не содержит строки. Объекты, не реализующие IEquatable, сравниваются по адресам, логично думать, что у твоей строки адрес будет другим, нежели у объектов в перечислении.
Вообще непонятно, зачем ты лезешь в эти дебри, близкие к рефлексии...
druziseeeeУченик (100)
1 месяц назад
Это про if я так понял, а почему в try catch при написании Заглавных букв проект компилируется в норме?
enum letters : byte
{
a = 1,
b,
c,
d,
e,
f,
g
}
static void Main()
{
letters lt;
string str1 = Console.ReadLine();
if (!Enum.IsDefined(typeof(letters), str1))
throw new Exception("Error!!!");
else
lt = (letters)Enum.Parse(typeof(letters), str1, ignoreCase: true);
Console.WriteLine(lt);
try
{
string str = Console.ReadLine();
lt = (letters)Enum.Parse(typeof(letters), str, ignoreCase: true);
Console.WriteLine(lt);
}
catch (Exception)
{
throw new Exception("Error!!!");
}
}