私は列挙型を持っています:
public enum MyEnum
{
EnumValue1,
EnumValue2,
}
MyEnum オブジェクトであることを確認したいオブジェクトがあると仮定すると、次の最初の行でコンパイル時エラーが発生します。
var myEnumValue = enumObject as MyEnum;
if(myEnumValue != null)
{
...
}
しかし、私は次のことができます:
var myEnumValue = (MyEnum)enumObject;
(ただし、例外が発生する可能性があります)
だから私は使用する必要があります:
if(enumObject is MyEnum)
{
//and then assign enumObject to a MyEnum object
}
代わりは。
質問
as
ここで使用が許可されていないのに、キャストまたは使用が許可されているのはなぜis
ですか?