• 枚举


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

     


     1 public enum TimeOfDay
     
    2 {
     
    3    Morning = 0,
     
    4    Afternoon = 1,
     
    5    Evening = 2
     
    6 }
     
    7 
     
    8 class EnumExample
     
    9 {
    10    public static int Main()
    11    {
    12       WriteGreeting(TimeOfDay.Morning);
    13       return 0;
    14    }
    15 
    16    static void WriteGreeting(TimeOfDay timeOfDay)
    17    {
    18       switch(timeOfDay)
    19       {
    20          case TimeOfDay.Morning:
    21             Console.WriteLine("Good morning!");
    22             break;
    23          case TimeOfDay.Afternoon:
    24             Console.WriteLine("Good afternoon!");
    25             break;
    26          case TimeOfDay.Evening:
    27             Console.WriteLine("Good evening!");
    28             break;
    29          default:
    30             Console.WriteLine("Hello!");
    31             break;
    32       }
    33    }
    34 }

         

         可以获取枚举的字符串表示,例如使用前面的TimeOfDay枚举:

     

     

    TimeOfDay time = TimeOfDay.Afternoon;
    Console.WriteLine(time.ToString());会返回字符串Afternoon。

          另外,还可以从字符串中获取枚举值:

    TimeOfDay time2 = (TimeOfDay) Enum.Parse(typeof(TimeOfDay), "afternoon");
    Console.WriteLine((
    int)time2);

     

  • 相关阅读:
    Python的logging模块
    Python中的json模块
    Python的re模块
    NoSQL简介
    单例设计模式
    基于配置文件的方式配置AOP
    重用切点表达式
    切面优先级
    返回通知、异常通知、环绕通知
    后置通知
  • 原文地址:https://www.cnblogs.com/love828/p/3203962.html
Copyright © 2020-2023  润新知