c#基础笔记四(Enum枚举的使用和使用场景)

Enum枚举的使用和使用场景

枚举是一组命名整型常量。
枚举类型是使用 enum 关键字声明的。
C# 枚举是值类型。
枚举不能被继承或传递继承。

枚举的声明

       enum MyEnum
        {
            A ,
            B ,
            C ,
            D ,
            E 
        }

枚举列表中的每个符号都会对应一个整数数值,在没有指定的情况下符号对应的整数就是该符号在枚举列表中的下标,如果有一个被指定数值,那么后面的符号就会以这个符号被指定的数值开始递增;

		static void Main(string[] args)
        {
            Console.WriteLine(((int)MyEnum.A).ToString());
            Console.WriteLine(((int)MyEnum.B).ToString());
            Console.WriteLine(((int)MyEnum.C).ToString());
            Console.WriteLine(((int)MyEnum.D).ToString());
            Console.WriteLine(((int)MyEnum.E).ToString());
            Console.ReadKey();
        }
         enum MyEnum
        {
            A ,
            B ,
            C ,
            D = 8 ,
            E 
        }

输出的结果:

0
1
2
8
9

使用场景

        static void Main(string[] args)
        {
            MyClass myClass = new MyClass();
            myClass.ToString(MyEnum.E);
            myClass.ToString(MyEnum.D);
            myClass.ToString(MyEnum.C);
            myClass.ToString(MyEnum.B);
            myClass.ToString(MyEnum.A);
            Console.ReadKey();
        }
        class MyClass
        {
            public void ToString(MyEnum @enum)
            {
                switch (@enum)
                {
                    case MyEnum.A:
                        Console.WriteLine("A的打印方法");
                        break;
                    case MyEnum.B:
                        Console.WriteLine("B的打印方法");
                        break;
                    case MyEnum.C:
                        Console.WriteLine("C的打印方法");
                        break;
                    case MyEnum.D:
                        Console.WriteLine("D的打印方法");
                        break;
                    case MyEnum.E:
                        Console.WriteLine("E的打印方法");
                        break;
                    default:
                        throw new Exception("未包含所有选项");
                }
            }
        }
         enum MyEnum
        {
            A ,
            B ,
            C ,
            D,
            E 
        }

结果:

E的打印方法
D的打印方法
C的打印方法
B的打印方法
A的打印方法

因为有些时候我们需要通过传入参数来指定我们要运行的代码块,上面的情况如果通过字符串参数来确定的话,可传入项时无限的,如果输入了没有的选项,就会到达default并抛出我们实现定义的异常,如果没有在这里定义异常呢?那就必须打断点才能找到问题了,如果使用枚举的话,因为枚举是我们实现定义好的,可选项就就先被内定了,你只有这几个选项,这样也就避免了因为写错而无法执行预定的代码块的情况

你可能感兴趣的:(#,C#基础笔记)