枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。
C# 枚举是值类型。换句话说,枚举包含自己的值,且不能继承或传递继承
声明enum变量
声明枚举的一般语法:
我们用不同年龄段来创建一个枚举类型:
cs
// 定义人的年龄阶段枚举
using System;
public enum AgeStage
{
// 注意:这里我们仅为示例而定义了大致的年龄范围
// 在实际应用中,可能需要更复杂的逻辑来确定年龄阶段
/*枚举(Enum)的成员默认情况下是隐式地赋予整数值的,从0开始递增。
* 因此,当你为枚举成员显式地指定了一个整数值,
* 并且随后删除了这个值(比如从Child = 0改为Child),
* 编译器会自动将这个成员(即Child)的值设为紧随前一个成员的值之后的整数值。
* 但是,如果你是在枚举的第一个成员上这么做(比如Child是第一个成员),
* 并且删除了显式赋的值,那么它的值将默认为0。*/
Child = 0, // 假设0-12岁为儿童
Teenager = 1, // 假设13-19岁为少年
青年 = 2, // 假设20-39岁为青年
MiddleAged = 3, // 假设40-59岁为中年
Senior = 4 // 假设60岁及以上为老年
}
// 示例:如何使用AgeStage枚举
class Program
{
static void Main(string[] args)
{
// 假设我们知道某个人的年龄
int age = 36;
// 根据年龄判断并输出对应的年龄阶段
// 注意:这里为了简化,我们使用了简单的条件判断,而非枚举直接映射
// 因为枚举通常不直接存储额外的数据(如年龄范围)
AgeStage ageStage;
if (age <= 12)
{
ageStage = AgeStage.Child;
}
else if (age <= 19)
{
ageStage = AgeStage.Teenager;
}
else if (age <= 39)
{
ageStage = AgeStage.青年;
}
else if (age <= 59)
{
ageStage = AgeStage.MiddleAged;
}
else
{
ageStage = AgeStage.Senior;
}
// 输出年龄阶段
Console.WriteLine($"年龄: {age}, 年龄段: {ageStage}");
Console.ReadKey();
}
}
using System;
namespace day01
{
class Program
{
enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat };
static void Main(string[] args)
{
int x = (int)Day.Sun;
int y = (int)Day.Fri;
Console.WriteLine("Sun={0}\nFri={1}", x, y);
Console.ReadKey();
}
}
}