为什么会返回错误?
public class Class1
{
public enum MyEnum
{
First,
Second,
Third
}
public MyEnum[] myEnum;
public Class1()
{
myEnum =
{
MyEnum.First,
MyEnum.First,
MyEnum.First
};
}
}
Run Code Online (Sandbox Code Playgroud)
虽然这不是:
public class Class1
{
enum MyEnum
{
First,
Second,
Third
}
public MyEnum[] myEnum =
{
MyEnum.First,
MyEnum.First,
MyEnum.First
};
public Class1()
{
}
}
Run Code Online (Sandbox Code Playgroud)
我想第一种方式,所以我可以将初始化分离到构造函数.这怎么做得好?
GvS*_*GvS 10
使用以下语法:
public Class1()
{
myEnum = new MyEnum[]
{
MyEnum.First,
MyEnum.First,
MyEnum.First
};
}
Run Code Online (Sandbox Code Playgroud)
只有在声明字段时才能使用短表示法。
否则,必须使用更长的符号:
myEnum = new MyEnum[] { MyEnum.First };
Run Code Online (Sandbox Code Playgroud)
在此处阅读有关数组初始值设定项的更多信息:http://msdn.microsoft.com/en-us/library/aa664573 (v=vs.71).aspx