C# enum:枚举类型 您所在的位置:网站首页 枚举类型定义格式 C# enum:枚举类型

C# enum:枚举类型

2023-12-26 13:52| 来源: 网络整理| 查看: 265

首页 > C#教程 C# enum:枚举类型 枚举类型(也可以称为“枚举器”)由一组具有独立标识符(名称)的整数类型常量构成,在 C# 中枚举类型不仅可以在类或结构体的内部声明,也可以在类或结构体的外部声明,默认情况下枚举类型中成员的默认值是从 0 开始的,然后逐一递增。 在 C# 中可以使用 enum 关键字来声明枚举类型,语法格式如下所示:

enum enum_name{     enumeration list; }

其中,enum_name 为枚举类型变量的名称;enumeration list 为枚举类型中的成员列表,其中包含若干使用逗号分隔的标识符,每个标识符都代表了一个整数值。 在使用枚举类型时有以下几点需要注意: 枚举类型中不能定义方法; 枚举类型具有固定的常量集; 枚举类型可提高类型的安全性; 枚举类型可以遍历。 下面通过示例来演示一下枚举变量的使用: using System; namespace c.biancheng.net { class Demo { enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; static void Main(string[] args) { Console.WriteLine("Sun = {0}", (int)Day.Sun); Console.WriteLine("Mon = {0}", (int)Day.Mon); Console.WriteLine("Tue = {0}", (int)Day.Tue); Console.WriteLine("Wed = {0}", (int)Day.Wed); Console.WriteLine("Thu = {0}", (int)Day.Thu); Console.WriteLine("Fri = {0}", (int)Day.Fri); Console.WriteLine("Sat = {0}", (int)Day.Sat); Console.ReadKey(); } } } 运行结果如下:

Sun = 0 Mon = 1 Tue = 2 Wed = 3 Thu = 4 Fri = 5 Sat = 6

默认情况下,枚举类型中的每个成员都为 int 类型,它们的值从零开始,并按定义顺序依次递增。但是我们也可以显式的为每个枚举类型的成员赋值,如下所示:

enum ErrorCode {     None,     Unknown,     ConnectionLost = 100,     OutlierReading = 200 }

【示例】使用 GetValues()  遍历枚举类型中的所有成员: using System; namespace c.biancheng.net { class Demo { enum Season { winter = 10, spring, summer = 15, autumn }; static void Main(string[] args) { foreach(Season i in Enum.GetValues(typeof(Season))){ Console.WriteLine("{0} = {1}", i, (int)i); } Console.ReadKey(); } } } 运行结果如下:

winter = 10 spring = 11 summer = 15 autumn = 16

【示例】使用 GetNames() 遍历枚举类型中的所有成员: using System; namespace c.biancheng.net { class Demo { enum Season { winter = 10, spring, summer = 15, autumn }; static void Main(string[] args) { foreach(String s in Enum.GetNames(typeof(Season))){ Console.WriteLine(s); } Console.ReadKey(); } } } 运行结果如下:

winter spring summer autumn

关注公众号「站长严长生」,在手机上阅读所有教程,随时随地都能学习。内含一款搜索神器,免费下载全网书籍和视频。

微信扫码关注公众号

推荐阅读 一套完整的嵌入式开发学习路线(高薪就业版) 一套课程卖1万,TMD太贵了! 跑了3000公里,见了一位大佬 符号——链接的粘合剂 C# TextBox:文本框控件 HttpServletRequest接口详解 将Linux多线程程序移植到Windows SQL UNIQUE:唯一约束 Spring开发环境搭建 Go语言break的用法(入门必读)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有