C# 枚举

一、作用

将所有的情况一一列举出来,可以将人能够识别的标识符与计算机能识别的符号相结合

二、使用

枚举也是数据类型,只不过是自定义数据类型,如果想使用,必须先定义枚举

三、目的

枚举是为了提高代码的可读性,易于后期的维护

四、使用步骤

1.定义枚举(定义在类的外面)

2.定义枚举变量

3.使用变量

五、枚举定义的格式:各个枚举值之间以逗号隔开;最后一个枚举值的逗号可以省略;大括号后面的分号可以省略

enum  枚举名称 {

枚举值 1 , 

枚举值 2 ,

枚举值 3 ,

……

}

六、注意

1.枚举值默认情况下都是 int 类型,从0开始

2.枚举值以指定的整数值为主,如果没有指定,则在上一个枚举值的基础上 + 1

3.枚举成员不能相同,但枚举值可以相同

4.枚举值也可以进行算术运算符操作,但是不常用

七、扩展:枚举常用的方法

            // 1.获取所有的枚举值
            foreach (var i in Enum.GetValues(typeof(Week))) {
                Console.WriteLine ((int)i);
            }

            // 2.获取所有的枚举成员名
            foreach (var i in Enum.GetNames(typeof(Week))) {
                Console.WriteLine (i);
            }

            // 3.获取枚举的某个值对应的名称
            Console.WriteLine (Enum.GetName(typeof(Week),5));


八、例子

using System;

namespace Lesson04_Enum
{
    // 定义一个枚举
    enum Season
    {
        Spring,
        Summer = 10,  // 枚举值可以自己制定
        Fall,         // 枚举值是在上一个值的基础上+1
        Winter

    } 

    enum Week
    {

        Monday = 1,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday,
        Sunday

    }




    class MainClass
    {
        public static void Main (string[] args)
        {

    // 定义枚举类型的变量
            Season s = Season.Winter;
            // 使用变量
            Console.WriteLine ((int)s);

            // 定义一个表示星期的枚举, 从控制台输入一个整数,输出对应的操作

            Console.WriteLine ("请输入一个数字:");
            // 接受用户的输入
            int a = Convert.ToInt32(Console.ReadLine());
            // 让用户输入的数字,与枚举值发生关联
            Week w = (Week)a; // 把整数强制转换为枚举类型
            // 
            switch (w) {
            case Week.Monday:
                Console.WriteLine ("");
                break;
            case Week.Tuesday:
                Console.WriteLine ("");
                break;
            case Week.Wednesday:
                Console.WriteLine ("");
                break;
            case Week.Thursday:
                Console.WriteLine ("");
                break;
            case Week.Friday:
                Console.WriteLine ("");
                break;
            case Week.Saturday:
                Console.WriteLine ("嘿嘿");
                break;
            case Week.Sunday:
                Console.WriteLine ("呵呵");
                break;
            default
                Console.WriteLine ("一周7天你还想有几天!");
                break;
            }






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值