如何显式初始化枚举数组[C#]

4
为什么会返回错误?
public class Class1
{
    public enum MyEnum
    {
        First,
        Second,
        Third
    }

    public MyEnum[] myEnum;

    public Class1()
    {
        myEnum = 
        {
            MyEnum.First,
            MyEnum.First,
            MyEnum.First
        };
    }
}

尽管如此,这并不会:
public class Class1
{
    enum MyEnum
    {
        First,
        Second,
        Third
    }

    public MyEnum[] myEnum = 
    {
        MyEnum.First,
        MyEnum.First,
        MyEnum.First
    };

    public Class1()
    {

    }
}

我希望能够采用第一种方式,这样我就可以将初始化与构造函数分开。应该如何正确实现?


使用 ReSharper http://www.jetbrains.com/resharper/ - bevacqua
2个回答

11

请使用以下语法:

    public Class1()
    {
        myEnum = new MyEnum[]
        {
            MyEnum.First,
            MyEnum.First,
            MyEnum.First
        };
    }

3
最好使用new[],而不是new MyEnum[] - Joe White
1
我仍然认为new MyEnum[]更清晰,尽管我在任何地方都使用var - GvS

5

链接已失效。 - B H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接