.NET中将枚举类型值转化为字符串

在.NET开发中,有时候我们会碰到需要将枚举类型的值转化为字符串显示出来。如果是普通的单个,我们直接ToString()就可以将数值转换过来,但多个的时候就需要花点点时间了。

public enum CustomerType

{

     GENERAL = 1,

    VIP = 2

}

我们在UI上需要将底层的客户类型显示在界面上,这时候只需要在代码中使用Enum提供的方法:GetNames()即可。

foreach(string ct in Enum.GetNames(typeof(CustomerType)))

{

     //在这里添加代码处理获取的字符串信息.

}

这样就可以实现代码到UI层的应用了。

在进一步,如果我们需要将整个枚举按照顺序用逗号来分割,就如CustomerType,我们要产生GENERAL,VIP这样的字串,怎么处理?

毫无疑问,用foreach肯定是可以处理的,但我们对CustomerType稍作修改:

public enum CustomerType

{

    GENERAL = 1,

    VIP = 2,

    VIP_PLUS = 4

}

而我们要得到GENERAL,VIP_PLUS字串,这个时候,foreach似乎不再那么好用了,我们就需要使用特性标志来进行处理。如下:

[Flag]

public enum CustomerType

{

    GENERAL = 1,

    VIP = 2,

    VIP_PLUS = 4

}

这个时候,我们试试:

string output = (CustomerType)5;

就能发现已经达到了我们的要求,用起来相当的简单.

 

Wednesday, June 13, 2012 | .NET技术

文章评论

No comments posted yet.

发表评论

Please add 2 and 7 and type the answer here:

关于博主

  一枚成分复杂的网络IT分子,属于互联网行业分类中的杂牌军。