(二十五)C#编程基础复习——enum枚举类型

发布时间 2023-11-27 09:33:53作者: 代号六零一

枚举类型(也可以成为“枚举器”)由一组具有独立标志服(名称)的整数类型常量构成,在C#枚举类型不仅可以在类或结构体的内部声明,也可以在类或结构体的外部声明,默认情况下枚举类型中成员的默认值是从0开始的,然后逐一递增。

在使用枚举时要注意以下几点:

  1. 枚举类型中不能定义方法;
  2. 枚举类型具有固定的常量集;
  3. 枚举类型可提高类型的安全性;
  4. 枚举类型可以遍历;

一、示例代码(枚举变量的使用)

namespace _015
{
    internal class Program
    {
        enum Day
        {
            Sun,Mon,Tue,Web,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("Web={0}",(int)Day.Web);
            Console.WriteLine("Thu={0}",(int)Day.Thu);
            Console.WriteLine("Fri={0}",(int)Day.Fri);
            Console.WriteLine("Sat={0}",(int)Day.Sat);
            Console.ReadKey();
        }
    }
}

运行结果:

二、示例代码(使用GetValues()遍历枚举类型中的所有成员)

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

namespace _015
{
    internal class Program
    {
      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();
        }
    }
}

运行结果:

三、示例代码(使用GetNames()遍历枚举类型中的所有成员)


namespace _015
{
    internal class Program
    {
        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();
        }
    }
}

运行结果: