最近碰到了枚举类型,就顺便整理下。

枚举的基类Enum,可以是除 Char 外的任何整型。不做显示声明的话,默认是整形(Int32)。

声明一个Enum类型

        /// <summary>
/// 颜色
/// </summary>
public enum People
{
[Description("婴儿")]
Baby = 0, [Description("儿童")]
Children = 5, [Description("青年")]
Youth = 20, [Description("老人")]
Old = 60 }

Enum转化为String类型:

(1)利用Object.ToString()方法:

People.Baby.ToString();

(2)利用Enum的静态方法GetName:

Enum.GetName(typeof(People), 0)
Enum.GetName(typeof(People), People.Baby)

String类型转化为Enum:

(1)利用Enum的静态方法Parse:

(People)Enum.Parse(typeof(People), "Children")

Enum转化为整数:

(1)强制转化化

(int)People.Youth;
(byte)People.Youth;//byte的数值范围,0-255,小心有些会溢出

int转化为Enum

(People)(60)
(People)Enum.ToObject(typeof(People), 60)

获取Enum字符串数组

foreach (var item in Enum.GetNames(typeof(People)))
{
Console.WriteLine(item);
}

判断某个整形是否定义在Enum中

Enum.IsDefined(typeof(People), 60);//返回true或false

结果为:

获取枚举类型头上的Description值:

class Program
{
static void Main(string[] args)
{
Console.WriteLine(GetDes(People.Youth));
Console.ReadKey();
}
public static string GetDes(Enum value)
{
return ((DescriptionAttribute)Attribute.GetCustomAttribute(value.GetType().GetField(value.ToString()), typeof(DescriptionAttribute))).Description;
}
public enum People
{
[Description("婴儿")]
Baby = , [Description("儿童")]
Children = , [Description("青年")]
Youth = , [Description("老人")]
Old = }
}

结果:

aaarticlea/png;base64,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" alt="" />

C#中enum类型的更多相关文章

  1. MYSQL中 ENUM 类型

    MYSQL中 ENUM 类型的详细解释 ENUM类型 ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举. 在下列某些情况下,值也可以是空串(&quo ...

  2. Java中Enum类型的序列化(转)

    在Java中,对Enum类型的序列化与其他对象类型的序列化有所不同,今天就来看看到底有什么不同.下面先来看下在Java中,我们定义的Enum在被编译之后是长成什么样子的. Java代码: Java代码 ...

  3. java中enum类型的使用

    java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我 ...

  4. mysql中enum类型

    ENUM类型 ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举. 在下列某些情况下,值也可以是空串("") 或 NULL: 如果 ...

  5. mysql中enum类型理解

    ENUM是枚举类型,它虽然只能保存一个值,却能够处理多达65535个预定义的值.下面是我写的一个mysql语句 CREATE TABLE student( id INT(11) PRIMARY key ...

  6. MySQL中enum类型数据,要传入字符串

    问题来源:公司业务,某张表中一个字段定义为: enum('0','1','2','3','4','5','6','7','8','9','10') NOT NULL DEFAULT '0' 某天跑脚本 ...

  7. MYSQL中 ENUM 类型的详细解释

    ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举. 在下列某些情况下,值也可以是空串("") 或 NULL: 如果将一个无效值插 ...

  8. mysql中enum的用法

    字段 类型 长度/值*1 整理 属性 Null 默认2 额外 注释 enum         说明:enum类型的字段,若长度值写长度1/2,报错 (1)  数据长度为1,则为0,1,2… (2)   ...

  9. .net MVC 中枚举类型Enum 转化成 下拉列表的数据源

    第一次写技术博文,记录下工作中遇到的问题,给自己的知识做个备份,也希望能帮助到其他的同学 最近接手了公司的一个新的项目.有个页面涉及相关设计. 分享一个经常用到的吧. 方法一: 直入主题吧 我们的目的 ...

随机推荐

  1. Mroonga 3.0.8 发布,MySQL 存储引擎

    Mroonga 3.0.8 支持 REPAIR TABLE 支持损坏的 groonga 数据库. Mroonga 是一个 MySQL 存储引擎,基于 Groonga,提供完整的全文搜索引擎.

  2. Microsoft 参考源代码系统更新,有惊喜哦。

    在以前,MS的参考源代码在单步调试时时好用时不好用,最后我找到了原因,那就是如果想用MS的参考源代码进行单步调试,那么你就得想尽办法把系统上的.NET FX降级到RTM版本(卸载各种相关补丁),今天我 ...

  3. 开始VS 2012中LightSwitch系列的第4部分:太多信息了!使用查询来排序和筛选数据

    [原文发表地址]  Beginning LightSwitch in VS 2012 Part 4: Too much information! Sorting and Filtering Data ...

  4. 依赖注入的威力,.NET Core的魅力:解决MVC视图中的中文被html编码的问题

    有园友在博问中提了这样一个问题 —— .NET Core 中文等非英文文字html编码输出问题,到我们的 ASP.NET Core 项目中一看,也是同样的问题. 比如下面的Razor视图代码: @{ ...

  5. 【C语言学习】《C Primer Plus》第3章 数据和C

    学习总结 1.C基本数据类型使用11个关键字:int.long.short.unsigned.char.float.double.signed._Bool._Complex和_Imaginary. 2 ...

  6. 作业七:团队项目——Alpha版本冲刺阶段-11

    部分功能实现: public void actionPerformed(ActionEvent ae) { //重新开始按钮 if (ae.getSource().equals(anew)){ int ...

  7. [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之摄像机介绍Cameras

    [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之摄像机介绍Cameras 最近得到一些Unity官方视频教程,一看全是纯英文的讲解,没有任何字幕或者 ...

  8. Lock,LockFree,MemoryBarrier,ConcurrentCollection

    最近看并行编程书本的一些心得,简单记录下多线程和并行编程必知必会的几个概念,再次加深自己的理解. .NET Framework4提供了一个新的命名空间System.Collections.Concur ...

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(九):自定义菜单接口说明

    上一篇<Senparc.Weixin.MP SDK 微信公众平台开发教程(八):通用接口说明>介绍了如何通过通用接口获取AccessToken,有了AccessToken,我们就可以来操作 ...

  10. 手打的笔记,java语法中的输入输出,语句,及注释。

    手打的笔记: () 内的则为注意事项或者提示 public static void main (String[] args) ******(用一个方法)****{ int i = 10; int j ...