编辑
2025-09-19
C#
00

目录

常量
常量的定义
常量的特点
常量的使用
枚举
枚举的定义
枚举的特点
枚举的使用
枚举的高级用法
枚举的特性
标志枚举(Flags Enum)
总结
程序设计中的重要组成部分。

常量

常量的定义

在 C# 中,常量是一种固定不变的值,一旦被赋值就不能再被修改。常量的定义使用 const 关键字。

C#
public const int MaxItemCount = 100;

常量的特点

  • 常量在声明时必须进行初始化赋值,且赋值后不可更改。
  • 常量通常用于定义程序中的不变的值,如数学常数、枚举值等。

常量的使用

C#
int itemCount = MaxItemCount; // 使用常量 // MaxItemCount = 200; // 不能修改常量的值,这里会导致编译错误

枚举

枚举的定义

枚举是一种用户自定义的数据类型,用于定义一组命名的常量。在 C# 中,枚举使用 enum 关键字进行定义。

C#
public enum WeekDay { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }

枚举的特点

  • 枚举中的每个成员都有一个对应的整数值,默认从 0 开始依次递增。
  • 枚举成员的整数值可以通过赋值进行自定义,也可以是其他整型值。
  • 枚举类型的值只能是枚举成员中的一个,不能是其他值。

枚举的使用

C#
static void Main(string[] args) { WeekDay today = WeekDay.Monday; // 使用枚举 int dayValue = (int)WeekDay.Tuesday; // 获取枚举成员的整数值 WeekDay nextDay = (WeekDay)(dayValue + 1); // 通过整数值转换为枚举成员 Console.WriteLine(today); Console.WriteLine(dayValue); Console.WriteLine(nextDay); Console.ReadKey(); }

image.png

枚举的高级用法

枚举的特性

C#
public enum WeekDay { [Description("星期一")] Monday, [Description("星期二")] Tuesday, [Description("星期三")] Wednesday, [Description("星期四")] Thursday, [Description("星期五")] Friday, [Description("星期六")] Saturday, [Description("星期日")] Sunday }
C#
static void Main(string[] args) { // 使用示例 WeekDay day = WeekDay.Monday; string description = GetDescription(day); // 将返回 "星期一" Console.WriteLine(description); Console.ReadKey(); } public static string GetDescription(Enum value) { var field = value.GetType().GetField(value.ToString()); var attribute = field.GetCustomAttribute<DescriptionAttribute>(); return attribute?.Description ?? value.ToString(); }

通过使用特性(Attribute),可以为枚举成员添加描述信息,便于在程序中进行显示或者其他处理。

标志枚举(Flags Enum)

C#
[Flags] public enum Days { None = 0, Monday = 1, Tuesday = 2, Wednesday = 4, Thursday = 8, Friday = 16, Saturday = 32, Sunday = 64 }
C#
static void Main(string[] args) { // 创建组合标志 Days meetingDays = Days.Monday | Days.Wednesday | Days.Friday; Console.WriteLine(meetingDays); // Monday, Wednesday, Friday // 检查是否包含某天 bool hasMondayMeeting = meetingDays.HasFlag(Days.Monday); // 返回 true Console.WriteLine(hasMondayMeeting); // true // 添加一天 meetingDays |= Days.Thursday; Console.WriteLine(meetingDays); // Thursday, Monday, Wednesday, Friday }

image.png 标志枚举用于表示一个或多个枚举成员的组合,通过位运算进行操作。

总结

常量和枚举是 C# 中非常有用的数据类型,能够帮助开发者在程序中定义和使用固定的常量值和命名的常量集合。合理地使用常量和枚举,可以提高代码的可读性、可维护性和可扩展性,是 C# 程序设计中的重要组成部分。

在实际应用中,开发者应当根据具体的业务需求和设计规范,合理使用常量和枚举,并充分了解其特性和高级用法,以便更好地发挥它们的作用。

本文作者:技术老小子

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!