Добрый день, позвольте» s скажем, у меня есть перечисление
public enum Test : int
{
TestValue1 = 0,
TestValue2,
TestValue3
}
. Почему я не могу использовать такие операторы, как Int32 IntTest = Test.TestValue1
, без приведения, означающего IntTest = 0
? Было бы полезно, если бы я решил позже добавить еще элементы в перечисление? Думаю, я вынужден использовать Int32 IntTest = (Int32) Test.TestValue1
, что, по моему мнению, должно быть избыточным ... Кроме того, почему я не могу сделать что-то вроде
switch (IntTest)
{
case (Test.TestValue1) : DoSomething();
break;
case (Test.TestValue2) : DoSomethingElse();
break;
default : Do Nothing();
}
? Компилятор говорит, что ожидает постоянное значение вместо TestValue1
... Разве это значение не постоянное?
Большое спасибо.