somevalue的类型是什么?如果类型是MyEnum,则铸造是不必要的,并且应该没有错误.
如果类型是int然后是,则必须转换为MyEnum才能正确切换/大小写.但是你可以通过转换值而不是每个case语句来使这更简单一些.例如
switch( (MyEnum)somevalue ) { case MyEnum.Value1: ... }