尝试这个最小代码:
void Main()
{
Foo test;
test = 0;
test = 1;
Console.WriteLine(test);
}
enum Foo { Bar, Baz }
行test = 1
将抛出编译错误,但是行test = 0
很快就被编译了!
CS0266无法将类型'int'隐式转换为'UserQuery.Foo'。存在显式转换(您是否错过了演员?)
编译器版本:Microsoft(R)Visual C#编译器版本1.0.0.50618
为什么我只能指定零值?在这两种情况下,它不应该是一个丢失的施法错误吗?