Enum枚举

+展开
-C#
///Enum枚举
///System.Enum类型派生自System.ValueType。其实更应该叫做System.Enum结构
///因为System.Enum是值类型,编译器在代码编译为IL代码时,会将System.Enum
///结构自动更改为对应的数值存储到程序集或模块中,所以说枚举和常量有很多
///地方很相象,因为枚举一旦定义了值就不会被更改。有一点要注意程序集与程
///序集之间用到枚举的时候要小心,一定要重新编译所有的程序集,这样才能将
///更改的程序集中的IL与其它程序集同步。下面的例子我列出了一些枚举常用到
///的方法。
///static string Format(Type type , object value , string format)静态方
///法,该方法接受一个与枚举格式有关的字符串:format 参数可以是"G"或"g"
///表示返回常数的名称(如 "Remault");也可以是"D"或"d"表示返回相应的值
///(如"10")
///下面一起看一下例子:

using System;

/// <summary>
/// 主程序
/// </summary>
class program
{
    /// <summary>
    /// 新建枚举对象
    /// </summary>
    enum Maker
    {
        Renault,
        ford,
        Toyota
    }
    /// <summary>
    /// 入口Main方法
    /// </summary>
    static void Main()
    {
        /// <summary>
        /// 获得一个枚举对象(Maker.Renault)
        /// </summary>
        Maker maker = Maker.Renault;
        /// <summary>
        /// 使用Enum.format()方法,得到枚举对象的字符串 方法中使用了参数"G"
        /// </summary>
        string s = System.Enum.Format(typeof(Maker), maker, "G");
        /// <summary>
        /// 输出刚刚得到的字符串
        /// </summary>
        Console.WriteLine(s);
        ///<summary>
        /// 使用Enum.format()方法,得到枚举对象的数值,方法中使用了参数"D"
        ///</summary>
        string s2 = System.Enum.Format(typeof(Maker), maker, "D");
        /// <sumary>
        /// 输出得到的数值
        /// </summary>
        Console.WriteLine(s2);
        /// <summary>
        /// Enum.Parse()方法,将字符串转换为枚举类型,false值参数表示方法
        /// 解析时区分大小写(该方法返回的是Object类型,需要强制类型转换成
        /// 枚举类型)
        /// </summary>
        Maker mm= (Maker)System.Enum.Parse(typeof(Maker), "ford"false);
        /// <summary>
        /// 输出得到的枚举
        /// </summary>
        Console.WriteLine(mm);
        /// <summary>
        /// Enum.Parse()方法,将字符串转换为枚举类型,true值参数表示方法解
        /// 析时不区分大小写(该方法返回的是Object类型,需要强制类型转换成
        /// 枚举类型)
        /// </summary>
        Maker mm2 = (Maker)System.Enum.Parse(typeof(Maker), "Ford"true);
        /// <summary>
        /// 输出得到的枚举
        /// </summary>
        Console.WriteLine(mm2);
        /// <summary>
        /// 分割线
        /// </summary>
        Console.WriteLine("____________________________________________");
        /// <summary>
        /// 使用foreach和枚举的Enum.GetNames()方法遍历枚举
        /// </summary>
        foreach (string ss in System.Enum.GetNames(typeof(Maker)))
        {
            /// <summary>
            /// 输出枚举
            /// </summary>
            Console.WriteLine(ss);
        }
    }
}


来源:http://2sws.blog.163.com/blog/static/17910249200984345799/

加支付宝好友偷能量挖...


评论(0)网络
阅读(127)喜欢(0)Asp.Net/C#/WCF