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并抛出我们实现定义的异常,如果没有在这里定义异常呢?那就必须打断点才能找到问题了,如果使用枚举的话,因为枚举是我们实现定义好的,可选项就就先被内定了,你只有这几个选项,这样也就避免了因为写错而无法执行预定的代码块的情况

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值