C#で列挙型を宣言すると、デフォルトの型は自動的にintになります。C#列挙型とキャスト
それでは、なぜ、case文やその他のインスタンスでenumを使用する場合、値を使用するために明示的にリキャストする必要がありますか?あなたが明示的に訴訟を起こさなければならない場合、または私がここで何か間違っているのであれば、根底にあるタイプを持つことのポイントは何ですか?
private enum MyEnum
{
Value1,
Value2,
Value3
}
switch (somevalue)
{
case (int)MyEnum.Value1:
someothervar = "ss";
break;
case (int)MyEnum.Value2:
someothervar = "yy";
break;
case (int)MyEnum.Value3:
someothervar = "gg";
break;
}
このコードスニペットはちょっとはっきりとしています。列挙型を定義し、入力パラメータ(somevalue)はintです。私に奇妙に見える... –