Rys*_*gan 23 .net c# enums switch-statement
有一个:
enum SomeEnum
{
A = 0,
B = 1,
C = 2
}
Run Code Online (Sandbox Code Playgroud)
现在编译器允许我写:
SomeEnum x = SomeEnum.A;
switch(x)
{
case 0: // <--- Considered SomeEnum.A
break;
case SomeEnum.B:
break;
case SomeEnum.C:
break;
default:
break;
}
Run Code Online (Sandbox Code Playgroud)
0被认为SomeItems.A.但我写不出来:
SomeEnum x = SomeEnum.A;
switch(x)
{
case 0:
break;
case 1: // <--- Here is a compilation error.
break;
case SomeEnum.C:
break;
default:
break;
}
Run Code Online (Sandbox Code Playgroud)
为什么只存在隐式转换0?
| 归档时间: |
|
| 查看次数: |
1276 次 |
| 最近记录: |