下面是在一个命名空间内定义枚举类型的示例:
namespace MyNamespace
{
// 定义一个class
public class MyClass
{
// TODO: 添加类的成员
}
// 定义一个枚举类型
public enum Color
{
Red,
Green,
Blue
}
// 定义另一个枚举类型
public enum Size
{
Small,
Medium,
Large
}
// 定义第三个枚举类型
public enum Shape
{
Circle,
Square,
Triangle
}
}
在上述示例代码中,我们在命名空间MyNamespace中定义了一个名为MyClass的class和三个枚举类型Color、Size和Shape,这些枚举类型可以在命名空间内部或者外部使用,以表示不同的概念和状态。可以根据自己的需要在这些枚举类型中添加枚举成员,或者在MyClass中添加类的成员。
在 C# 中,枚举成员可以具有值,也可以不指定值。如果你不显式为枚举成员指定值,则它们将按照默认规则从 0 开始自动递增。
- 不指定值的情况:
public enum Season
{
Spring, // 默认值为 0
Summer, // 默认值为 1
Autumn, // 默认值为 2
Winter // 默认值为 3
}
- 指定部分值的情况:
public enum Color
{
Red = 1,
Green, // 值为 2
Blue = 4,
Yellow // 值为 5
}
- 指定所有值的情况:
public enum Direction
{
Up = 10,
Down = 20,
Left = 30,
Right = 40
}
在第一个示例中,Season 枚举的成员 Spring 的值为 0,Summer 的值为 1,以此类推。
在第二个示例中,Color 枚举的成员 Red 显式指定了值为 1,Green 没有指定值,则会自动递增为 2,Blue 显式指定为 4,Yellow 没有指定值,则会自动递增为 5。
在第三个示例中,Direction 枚举的每个成员都显式指定了值,分别为 10、20、30 和 40。
因此,枚举成员可以有值,也可以没有值,取决于你的需求和设计。