zoukankan      html  css  js  c++  java
  • 枚举

    枚举是用户定义的整数类型。在声明一个枚举时,要指定该枚举的实例可以包含的一组可接受
    的值。不仅如此,还可以给值指定易于记忆的名称。如果在代码的某个地方,要试图把一个不在可
    接受范围内的值赋予枚举的一个实例,编译器就会报告一个错误。

    从长远来看,创建枚举可以节省大量时间,减少许多麻烦。使用枚举比使用无格式的整数至少
    有如下3个优势:
    ● 如上所述,枚举可以使代码更易于维护,有助于确保给变量指定合法的、期望的值。
    ● 枚举使代码更清晰,允许用描述性的名称表示整数值,而不是用含义模糊、变化多端的数
    来表示。
    ● 枚举也使代码更易于键入。在给枚举类型的实例赋值时,Visual Studio .NET IDE会通过
    IntelliSense弹出一个包含可接受值的列表框,减少了按键次数,并能够让我们回忆起可选
    的值。
    可以定义如下的枚举:
    public enum TimeofDay
    {
    Morning = 0,
    Afternoon = 1,
    Evening = 2
    }

    本例在枚举中使用一个整数值,来表示一天的每个阶段。现在可以把这些值作为枚举的成员来
    访问。例如,TimeofDay.Morning返回数字0。使用这个枚举一般是把合适的值传送给方法,并在
    Switch语句中迭代可能的值。

    class EnumEXample
    {
    public static int Main()
    {
    WriteGreeting(TimeofDay.Morning);
    return 0;
    }
    static Void WriteGreeting(TimeofDay timeofDay)
    {
    switch(timeofDay)
    {
    case  timeofDay.morning:
    Console.WriteLine("Good Morning!");
    break;
    case TimeofDay.Afternoon:
    Console.WriteLine("Good afternoon!");
    break;
    case TimeofDay.Evening:

    Console.WriteLine("Good evening!");
    break;
    default:
    Console.WriteLine("Hello!");
    break;

    }

    }

    }

    在钾中,枚举的真正强大之处是它们在后台会实例化为派生于基类system,Enm的结构。这
    表示可以对它们调用方法,执行有用的任务。注意因为.NET FrameWork的执行方式,在语法上把枚
    举当做结构是不会造成性能损失。实际上,一旦代码编译好,枚举就成为基本类型,与int和float类似。

    可以获取枚举的字符串表示,例如使用前面的仂饨0fDay枚举:
    TimeofDay time = TimeofDay.Afternoon;
    Console.WriteLine(time.ToString());
    会返回字符串Afternoon。

    另外,还可以从字符串中获取枚举值:
    TimeofDay time2 = (TimeofDay) Enum.Parse(typeof(TimeofDay),"afternoon", true);
    Console.WriteLine((int)time2);
    这段代码说明了如何从字符串获取枚举值,并转换为整数。要从字符串中转换,需要使用静态
    的Enum,Parse()方法,这个方法带3个参数。第1个参数是要使用的枚举类型,其语法是关键字typeof
    后跟放在括号中的枚举类名,第2个参数是要转换的字符串,第3个参数是一个bool,指定在进行转换时是否忽略大小写。最后,注意Enun。Parse()方法实际上返回一个对象引用——我们需要把这个字符串显式转换为需要的枚举类型(这是一个拆箱操作的例子)。对于上面的代码,将返回1,作为一个对象,对应于TimeofDay.Aamoon的枚举值。在显式转换为int时,会再次生成1。system,Enun上的其他方法可以返回枚举定义中的值的个数或列出值的名称等。详细信息参见MsDN文档。

  • 相关阅读:
    azure 控制台小工具
    azure flask 测试
    azure django bug
    Ubuntu 18.04中使用Mac OS风格的Dock启动器替换左侧面板
    刚安装的程序要卸载,如何Ubuntu查看程序安装记录
    Ubuntu添加字体
    Ubuntu下的图形化多线程下载器XDM
    Linux命令行基础操作
    linux使用管理员权限打开一个文件管理器(右键root打开文件)
    ubuntu美化1——主题、图标、dock(dock相当于windows的开始菜单和任务栏)
  • 原文地址:https://www.cnblogs.com/miffylf/p/4005060.html
Copyright © 2011-2022 走看看