我有一个枚举:
public enum Blah
{
Value = 0,
Value2 = 1
}
以下代码:
void Main()
{
Blah? a = Blah.Value;
bool val = (a == (int) Blah.Value); // compiles
val = (a == (int) Blah.Value2); // doesn't compile
}
从上面的评论中可以看出,第一行编译但第二行没有编译。
任何人都可以解释一下吗?我检查了 IL解释器并且无法真正理解原因: