VB.NET枚举表示

时间:2010-04-16 15:17:12

标签: vb.net enums

是否保证只有未初始化值的Enum的数值从零开始并按定义的顺序递增1?

2 个答案:

答案 0 :(得分:2)

是。来自文档:

  

如果您没有为其指定初始值设定项   一个成员,Visual Basic初始化它   要么为零(如果是第一个   成员列表中的成员)或值   比一个更大一个   紧接在会员之前。

http://msdn.microsoft.com/en-us/library/8h84wky1(VS.80).aspx

答案 1 :(得分:0)

是。如果你明确地设置一个,那么后面的那些也会增加。

这允许你拥有:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine((int)Seasons.Spring);
        Console.WriteLine((int)Seasons.Summer);
        Console.WriteLine((int)Seasons.Autumn);
        Console.WriteLine((int)Seasons.Fall);
        Console.WriteLine((int)Seasons.Winter);
        Console.Read();
    }
}

public enum Seasons
{
    Spring,
    Summer,
    Autumn,
    Fall = Autumn,
    Winter
}
  

输出:0 1 2 2 3

它们将具有值0,1,2,3和Fall将具有与Autumn相同的值。

抱歉,我的示例是在C#中,但同样适用于VB.net