只是出于好奇: 为什么我可以把0.0赋给一个枚举类型的变量,而不是1.0?看看下面的代码:
public enum Foo
{
Bar,
Baz
}
class Program
{
static void Main()
{
Foo value1 = 0.0;
Foo value2 = 1.0; // This line does not compile
Foo value3 = 4.2; // This line does not compile
}
}
我以为数字类型和枚举值之间的转换只允许通过强制转换?也就是说,我可以编写 Foo value2 = (Foo) 1.0;
,这样 Main
中的第2行就可以编译了。为什么 C # 中的值 0.0
有一个例外?