C#枚举类型的定义及其用法

发布于:2025-09-03 ⋅ 阅读:(22) ⋅ 点赞:(0)

一、枚举类型定义

枚举类型(enum)是 C# 中的一种值类型,用于定义一组命名的常量值

使用 enum 关键字定义,默认基础类型为 int,也可以显式指定其他整数类型(如 byteshortlong 等)。

基本语法:

enum 枚举名称 [ : 基础类型 ]
{
    成员1,
    成员2,
    ...
}

示例:

enum Season
{
    Spring,    // 默认值为 0
    Summer,    // 默认值为 1
    Autumn,    // 默认值为 2
    Winter     // 默认值为 3
}

也可以写为这个:

  public enum eAddress
        {
            M = 144,
            L = 146,
            X = 156,
            Y = 157         
        }

也可以显式指定基础类型和成员值:

enum ErrorCode : ushort
{
    None = 0,
    Unknown = 1,
    ConnectionLost = 100,
    OutlierReading = 200
}

二、枚举的用法

1. 枚举变量的声明与赋值:

Season currentSeason = Season.Summer;
Console.WriteLine(currentSeason);          // 输出: Summer
Console.WriteLine((int)currentSeason);     // 输出: 1

2. 枚举与 switch 语句:

switch (currentSeason)
{
    case Season.Spring:
        Console.WriteLine("春天");
        break;
    case Season.Summer:
        Console.WriteLine("夏天");
        break;
    case Season.Autumn:
        Console.WriteLine("秋天");
        break;
    case Season.Winter:
        Console.WriteLine("冬天");
        break;
}

3. 枚举与字符串的转换:

// 枚举转字符串
string seasonStr = currentSeason.ToString(); // "Summer"

// 字符串转枚举
bool success = Enum.TryParse("Autumn", out Season result);
if (success)
    Console.WriteLine(result); // Autumn

4.枚举的值存入数组:

enum eAddress : byte   // 底层类型是 byte
{
    Beijing = 10,
    Shanghai = 20,
    Guangzhou = 30
}

int[] values = Enum.GetValues(typeof(eAddress))
                   .Cast<int>()   // 这里转成 int
                   .ToArray();

// 结果:values = { 10, 20, 30 }


网站公告

今日签到

点亮在社区的每一天
去签到