【发布时间】:2014-07-08 20:57:10
【问题描述】:
出于好奇:为什么我可以将 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 存在异常?
【问题讨论】:
标签: c# enums floating-point literals