zhcn 编程语言 Golang Go 文件处理 非公開: C# enum:枚举类型

C# enum:枚举类型

枚举类型(也称为枚举器)由一组具有独立标识符(名称)的整型常量组成。在 C# 中,枚举可以在类或结构的外部和内部声明。默认情况下,对于类或结构体,枚举成员的默认值从 0 开始,并以 1 递增。

C# 允许您使用 enum 关键字声明枚举类型。语法格式为:

enum enum_name{
    enumeration list;
}

其中enum_name是枚举变量的名称,enum_list是枚举类型的成员列表,包含多个以逗号分隔的标识符,每个标识符代表一个整数值。

使用枚举时,请记住以下几点:

  • 不能在枚举类型上定义方法。
  • 枚举有一组固定的常量。
  • 枚举提高类型安全性。
  • 枚举可以迭代。

下面的例子演示了枚举变量的使用。

 using System;

namespace it-kiso.com
{
    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类型,其值从0开始,按照定义的顺序依次递增。但是,您也可以显式地为每个枚举成员分配一个值,如下所示:

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

【示例】使用GetValues()遍历枚举类型的所有成员。

 using System;

namespace it-kiso.com
{
    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 it-kiso.com
{
    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

《C# enum:枚举类型》通俗易懂的讲解!您必须观看的最佳 2 个视频

【Java入門#22】列挙型(enum)
https://www.youtube.com/watch?v=HSlsI-7W5MQ&pp=ygUZIEMjIGVudW06IOWIl-aMmeWeiyZobD1KQQ%3D%3D
枚举类型(也称为枚举器)由一组具有独立标识符(名称)的整型常量组成。在 C# 中,枚举可以在类或结构的外部和内部声明。默认情况下,对于类或结构体,枚举成员的默认值从 0 开始,并以 1 递增。

C# 允许您使用 enum 关键字声明枚举类型。语法格式为:

enum enum_name{
    enumeration list;
}

其中enum_name是枚举变量的名称,enum_list是枚举类型的成员列表,包含多个以逗号分隔的标识符,每个标识符代表一个整数值。

使用枚举时,请记住以下几点:

  • 不能在枚举类型上定义方法。
  • 枚举有一组固定的常量。
  • 枚举提高类型安全性。
  • 枚举可以迭代。

下面的例子演示了枚举变量的使用。

 using System;

namespace it-kiso.com
{
    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类型,其值从0开始,按照定义的顺序依次递增。但是,您也可以显式地为每个枚举成员分配一个值,如下所示:

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

【示例】使用GetValues()遍历枚举类型的所有成员。

 using System;

namespace it-kiso.com
{
    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 it-kiso.com
{
    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

《C# enum:枚举类型》通俗易懂的讲解!您必须观看的最佳 2 个视频

【Java入門#22】列挙型(enum)
https://www.youtube.com/watch?v=HSlsI-7W5MQ&pp=ygUZIEMjIGVudW06IOWIl-aMmeWeiyZobD1KQQ%3D%3D