常量和枚举


一.常量:关键字const


1.定义:不可改变的量,相对于变量来说,也可以说成不可改变的变量


2.语法:  const 类型 常量名=常量值


3.注意:常量只能在初始化时赋值,其他情况下不允许赋值,


4.定义常量优点:a.防止在后续程序中被修改 b.可以重复使用


5.例子:

const double P=3.14;


二.枚举:关键字 enum


1.定义:

        我们可以定义变量中的类型,然后对变量值进行一定的限制,当用户对我们这种类型进行赋值时,只能赋咱们限定好的值。我们可以重新定义一种类型,并且在定义这种类型时,我们要指定这个类型的所有值


2.语法:

       enum 自己起的类型名称{类型值1,类型值2,......,类型值n}


3.注意:


    a.定义枚举时,枚举的值不能是int类型

    b.枚举类型的变量都可以强制转化成int类型,并且都可以输出它的值

    c.定义枚举类型时,枚举类型的值都有一个默认编号,从0开始

    c.枚举在方法、类、命名空间中都可以定义,但是一般我们会把枚举定义和类定义在同一个级别,在同一个命名空间下的所有类都可以使用该枚举。

    d.在枚举值时不需要加双引号


4.优点:


    a.限制用户不能随意赋值,只能赋在定义枚举时列举的值中选择 

    b.不需要死记每个值是什么,只需要选择相应的值就可以了


5.如何把一个字符串转化成枚举类型:这是一个公式可以记住


  (自己定义的枚举类型)Enum.Parse(typeof(自己定义的枚举类型),"待转化的字符串")


6.例子:

namespace enumTe
{
    /// <summary>
    /// 1.定义了
一个枚举类型,
    /// 2.一般枚举类型都和类放在同一个级别,这个只要是这个命名空间下的类都可以使用该枚举
    /// 当然枚举也可以定义在方法和类中,但是这样枚举的作用范围只能是方法内或是特定的定义枚举的类中
    /// 3.在声明枚举时都有一个默认的序号,该后从0开始,声明值时不需要加双引号
    /// </summary>

    enum subject 
    {
        语文,
        数学,
        化学,
        物理,
        计算机,
        生物,
        地理,
        英语
    }


    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("输入学科名称可以查询学习该学科的人数!");
            subject sb;


            try
            {
                string str=Console.ReadLine();
                sb = (subject)Enum.Parse(typeof(subject), str);//将字符串强制转化为枚举类型,用的就是上面提到的公式


                int people = 0;//声明学生个数变量


                switch (sb)//一般枚举我们都有switch控制条件
                {
                    case subject.地理:
                        people = 1;
                        break;
                    case subject.化学:
                        people = 2;
                        break;
                    case subject.计算机:
                        people = 3;
                        break;
                    case subject.生物:
                        people = 4;
                        break;
                    case subject.数学:
                        people = 5;
                        break;
                    case subject.物理:
                        people = 6;
                        break;
                    case subject.英语:
                        people = 7;
                        break;
                    case subject.语文:
                        people = 8;
                        break;
                    default:
                        people = 0;
                        break;
                }


                Console.WriteLine("您输入的学科名称为:" + sb + ",学习此课程的人数为" + people);//输出
                Console.ReadKey();//这句话在这里的含义就是为了看清楚输出的是什么
            }
            catch (Exception ex) 
            {
                Console.WriteLine("您输入的学科有误,请重新输入!");
            }
            
        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值