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

枚举的基类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. ajax跟取后台 josn 之 josn理解

    json是一种轻量级的数据交换格式,是 JavaScript 原生格式,是理想的数据交换格式. 1.json对象json对象以“{”开始 , 以“}”结束,每个“名称”后跟一个“:”(冒号),‘名:值 ...

  2. NoSQL学习二:MongoDB基本管理命令

    MongoDB命令学习  一.MongoDB命令帮助 在安装MongoDB后,启动服务器进程(mongod),可以通过在客户端命令mongo实现对MongoDB的管理和监控: 这是MongoDB最上层 ...

  3. 开始VS 2012中LightSwitch系列的第5部分:我可以使用用户权限来控制访问权吗?

    [原文发表地址]  Beginning LightSwitch in VS 2012 Part 5: May I? Controlling Access with User Permissions [ ...

  4. 可在广域网部署运行的QQ高仿版 -- GG叽叽V2.4,增加远程协助、桌面共享功能(源码)

    QQ的远程协助.或者说桌面共享是一个非常实用的功能,所以,2.4版本的GG复制了它,而且,GG增强了桌面共享的功能,它可以允许指定要共享桌面的区域,这样,对方就只能看到指定区域的桌面,这对节省流量会非 ...

  5. RCP:为指定的导航器添加上下文菜单

    可以参考Eclipse的Help->Help Content下的: Platform Plug-in Developer Guide > Programmer's Guide > P ...

  6. 与webview打交道中踩过的那些坑

    随着HTML5被越来越多的用到web APP的开发当中,webview这一个神器便日渐凸显出重要地位.简要的说,webview能够在移动应用中开辟出一个窗口,在里面显示html页面,css以及js代码 ...

  7. [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之材质了解Materials

    [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之材质了解Materials 既上一篇分享了中文字幕的灯光介绍Lights后,本篇分享一下第3个已完工 ...

  8. Java-继承,多态练习09-22-01

    1.实现如下类之间的继承关系,并编写Music类来测试这些类. 父类: package com.lianxi; public class Instrument { //属性 private Strin ...

  9. Bootstrap~多级导航(级联导航)的实现

    回到目录 在bootstrap官方来说,导航最多就是两级,两级以上是无法实现的,大叔找了一些第三方的资料,终于找到一个不错的插件,使用上和效果上都还不错,现在和大家分享一下 插件地址:http://v ...

  10. Atitit 混合叠加俩张图片的处理 图像处理解决方案 javafx blend

    Atitit 混合叠加俩张图片的处理 图像处理解决方案 javafx blend 1.1. Jhlabs 好像有了可以叠加算法,但是没有找到doc1 1.2. 自己算法叠加1 1.3. 使用javaf ...