zoukankan      html  css  js  c++  java
  • C# 枚举

    一、枚举介绍

      当我们需要定义一个变量,且该变量的范围是有限的,就可以使用枚举。比如:定义一周Days,只能有{ 周一...周日 }。 Days today变量只能从该7个值中取其中1个为其赋值。  

      枚举(enum)是一组命名的整数常量。枚举类型是使用enum关键字来声明。C# 枚举是值数据类型。 换句话说,枚举包含其自己的值,并且不能继承或不能传递继承。

    enum Days
    {
      Monday=1, Tuesday, Wednesday, Thursday, Friday, Saturday,Sunday,
    };

    Days today = Days.Monday;

    int today_int = (int)Days.Monday;

    二、函数介绍

    名称

    描述

    Format

    static string Format(Type enumType, object value, string format);

    根据指定格式将指定枚举类型的指定值转换为其等效的字符串表示形式。

    GetName

    static string GetName(Type enumType, object value);

    在指定枚举中检索具有指定值的常数的名称。

    GetNames

    static string[] GetNames(Type enumType);

    检索指定枚举中常数名称的数组。

    GetValues

    static Array GetValues(Type enumType);

    检索指定枚举中常数值的数组。

     

     

     

     

     

     

     

     

     

     

     

     

     


    定义

    enum Days
    {
      Monday=1, Tuesday, Wednesday, Thursday, Friday, Saturday,Sunday,
    };

    Days里面的变量,值 从指定的数字开始,依次递增。 若无指定,默认从0开始。

    值可以重复,比如Saturday=1后,Monday和Saturday都为1,Tuesday和Sunday都为2 。


     取值

    Days today_1 = Days.Monday;
    Days today_2 = (Days)1;
    Days today_3 = (Days)Enum.Parse(typeof(Days),"1");

    取int值

    int today_1_int = (int)Days.Monday;  //today_1_int : 1

    int today_1_int = (int)today_1;    //today_1_int : 1


    GetName函数

    完整函数:

      static string GetName(Type enumType, object value);

    使用示例:

      string str_today = "";

      str_today = Enum.GetName(typeof(Days), Days.Monday);  //"Monday"
      str_today = Enum.GetName(typeof(Days), 1);        //"Monday"

     

     


     GetNames函数

    完整函数:

      static string[] GetNames(Type enumType);

    使用示例:

      foreach (string one_name in Enum.GetNames(typeof(Days)))

        {
          Console.WriteLine( one_name );
        }

     输出:

    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    Sunday

     


     GetValues函数

    完整函数:

      static Array GetValues(Type enumType);

    使用示例:

      foreach (var one_value in Enum.GetValues(typeof(Days)))

        {
          Console.WriteLine(one_value + ":" + (int)one_value);
        }

     输出:

    Monday:1
    Tuesday:2
    Wednesday:3
    Thursday:4
    Friday:5
    Saturday:6
    Sunday:7

     


    三、总结

    C# 枚举的优点:
    • 枚举可以使代码更易于维护,有助于确保给变量指定合法的、期望的值
    • 枚举使代码更清晰,允许用描述性的名称表示整数值,而不是用含义模糊的数来表示。

     

  • 相关阅读:
    __doPostback在客户端控件中的作用
    BlogEngine学习二:基于ICallbackEventHandler的轻量级Ajax方式
    JS操作XML数据备忘
    JS解析DataSet.GetXML()方法产生的xml
    JS中的prototype的使用方式
    实体类的二进制序列化
    PostgreSQL的.NET驱动程序Npgsql中参数对象的一个Bug
    PDF.NET的SQL日志
    PostgreSQL的PDF.NET驱动程序构建过程
    使用XSD编写具有智能提示的XML文件(以SQLMAP脚本为实例)
  • 原文地址:https://www.cnblogs.com/01zxs/p/9467776.html
Copyright © 2011-2022 走看看