C# enum Enumeration Type 枚举

C#中, enum 是一种特殊的值类型,它允许你为一组相关的常量定义一个名称。枚举提供了一种将一组整数值与更易读的名称关联起来的方法。

定义枚举

你可以使用 enum 关键字来定义枚举类型。枚举类型默认是基于 int 的,但你也可以指定不同的整型基础,如 bytesbyteshortlong 等。

csharp 复制代码
// 默认基于int的枚举
public enum Color
{
    Red,
    Green,
    Blue
}

// 基于byte的枚举
public enum Size : byte
{
    Small,
    Medium,
    Large
}

使用枚举

在代码中,你可以像使用常量一样使用枚举成员:

csharp 复制代码
Color myColor = Color.Blue;
Size mySize = Size.Medium;

访问枚举值

你可以通过调用 ToString() 方法或使用 + 运算符来获取枚举成员的名称或值:

csharp 复制代码
Console.WriteLine(myColor.ToString()); // 输出 "Blue"
Console.WriteLine((int)myColor); // 输出 "2"

枚举与switch语句

枚举类型非常适合在 switch 语句中使用:

csharp 复制代码
switch (myColor)
{
    case Color.Red:
        Console.WriteLine("The color is red.");
        break;
    case Color.Green:
        Console.WriteLine("The color is green.");
        break;
    case Color.Blue:
        Console.WriteLine("The color is blue.");
        break;
}

枚举特性

枚举值是常量,编译时常量值就已经确定。

枚举默认从0开始,但你可以指定不同的起始值。

枚举成员的值可以是任何整型,包括负数。

csharp 复制代码
public enum StatusCode
{
    OK = 0,
    NotFound = -1,
    Error = -2
}

枚举与位字段

枚举还可以用于位字段(bit fields),通过使用 [Flags] 特性,可以将枚举成员作为位标志来使用:

csharp 复制代码
[Flags]
public enum Permissions
{
    None = 0,
    Read = 1,
    Write = 2,
    Execute = 4
}

Permissions myPermissions = 
	Permissions.Read | Permissions.Write;

使用 [Flags] 特性的枚举可以很容易地进行位运算,如 ORANDNOT 等。

总结

枚举是C#中非常有用的语言特性,可以提高代码的可读性和可维护性。

相关推荐
缺点内向2 小时前
C#: 高效移动与删除Excel工作表
开发语言·c#·.net·excel
yue0085 小时前
C# 分部类读取学生信息
开发语言·c#
聪明努力的积极向上5 小时前
【C#】事件简单解析
开发语言·c#
qq_12498707536 小时前
基于C#的贵州省黔北地区乡村避暑生活共享平台设计与实现(源码+论文+部署+安装)
c#·毕业设计·asp.net·生活
LateFrames11 小时前
C# 中,0.1 在什么情况下不等于 0.1 ?
开发语言·c#
mudtools17 小时前
解放双手!使用Roslyn生成代码让你的 HTTP 客户端开发变得如此简单
低代码·c#·.net
张人玉19 小时前
WPF 数据绑定与转换器详解
c#·wpf·light
主宰者19 小时前
WPF CalcBinding简化判断逻辑
c#·.net·wpf
就是有点傻1 天前
使用PaddleOCRSharp大模型精选文字识别
c#
LeonDL1681 天前
【通用视觉框架】基于C#+Winform+OpencvSharp开发的视觉框架软件,全套源码,开箱即用
人工智能·c#·winform·opencvsharp·机器视觉软件框架·通用视觉框架·机器视觉框架