定义一个简单的枚举类型:
   enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};        //这时候         Days.Sat = 0 ,后面依此递增。

当然也可以手动指定起始值:
   enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri}; //这样就从1开始了。

枚举型的隐含类型为 int 型, 例如 int x=(int)Days.Sat ; 一点问题没有。据MSDN说枚举类型的隐含类型可以为除了char以外的任意数字类型……        [        Every enumeration type has an underlying type, which can be any integral type except char. ]
          下面这个例程演示使用长整型作为枚举的隐含类型:

// keyword_enum2.cs
// Using long enumerators
using System;
public class EnumTest 
{
    enum Range :long {Max = 2147483648L, Min = 255L};
    static void Main() 
          {
       long x = (long)Range.Max;
       long y = (long)Range.Min;
        Console.WriteLine("Max = {0}", x);
        Console.WriteLine("Min = {0}", y);
          }
}
如果需要重新取回长整形值,也是一个转换就可以了。  long x = (long)Range.Max;

最有意思的还是下面要说的,enum的[Flags]标记。啥也不说啦,看程序吧:
//The following code example illustrates the use and effect of the 
//System.FlagsAttribute attribute on an enum declaration.

// enumFlags.cs
// Using the FlagsAttribute on enumerations.
using System;

[Flags]
public enum FileAttribute
{
         ReadOnly= 0x01,
         Hide= 0x02,
         System= 0x04,
         Archived= 0x08
}

class FlagTest
{
    static void Main()
         {
        FileAttributeoptions options= FileAttribute.ReadOnly| FileAttribute.System;
        Console.WriteLine(options);
        Console.WriteLine((int)options);
         }
}

输出为:
       
ReadOnly, System
5
看到了吧?呵呵。这就是常用的标志位阿~ 在C#里变得更简单易用了。

enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};

1> 我给定一个值1,怎样把对应的Sun以字符串的形式返回来?(常用在取数据库里的XXX_ID并转换成对应的值的时候用。——不过有点硬编码的感觉。)
答:Convert.ChangeType( enumValue, enumType ).ToString();// enumValue=1; enumType=typeof(Days)

2>我给定一个字符串"Sun",怎么返回enum Day.Sun?
答: 可以直接用 Enum.Parse( enumType, string,[boolean])来解决问题. ;例如这个例子, Enum.Parse(typeof(Day), "Sun", true) 就返回Day.Sun , 第3个参数指定是否大小写敏感. 可以省略.

3>我想知道 enum Day 中所有的字符串值. 怎么写?
答: 这个貌似也很简单哦, foreach(string name in Enum.GetNames(typeof(Day))) Console.WriteLine(name);   还有一个Enum.GetName() ,具体用法看MSDN去吧....

来源:http://blog.163.com/li_crane/blog/static/19502097200822210217451/

转载于:https://www.cnblogs.com/shangshen/p/4942813.html

C#中的枚举类型enum用法相关推荐

  1. mysql 枚举 enum用法_mysql中的枚举类型ENUM的用法:

    mysql中的枚举类型ENUM的用法: (2010-06-18 13:44:13) mysql中的枚举类型ENUM的用法: mysql中的枚举类型ENUM是一个字符串对象,它的值是自表创建时在列规定中 ...

  2. java的枚举类型是什么_什么是枚举(java枚举类型enum用法)

    最佳回答 枚举 1.枚举 (enumeration) 值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称.枚举类型有名称.基础类型和一组字段.基础类型. &qu ...

  3. 枚举类型enum用法赋值

    枚举常量是一种枚举类型中的值,及枚举值,枚举类型是由用户自定义的,只用用户在程序中定义它才能被使用.创建一个枚举类型的基本语法: enum 枚举类型名{ 枚举值1,枚举值2,- } 枚举类型名是由用户 ...

  4. c枚举类型enum例题_c枚举类型enum用法 枚举类型enum用法 怎么去取所有

    JUDGE(S W ) 指 W 属于 S 枚举类型还是自定义函数里的2个变量不要太久太久不联系我,我怕我一不小心把你忘了. (1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素 ...

  5. c语言枚举类型enum用法参数,C语言枚举类型(Enum)

    在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等. 以每周七天为例, ...

  6. mysql枚举类型enum用法_mysql中枚举类型之enum详解

    enum类型就是我们常说的枚举类型,它的取值范围需要在创建表时通过枚举方式(一个个的列出来)显式指定,对1至255个成员的枚举需要1个字节存储: 对于255至65535个成员,需要2个字节存储.最多允 ...

  7. java枚举类型enum用法_java枚举类型enum用法和原理介绍【传智播客】

    Enum枚举类型 Enum的全写是Enumeration,这个词的翻译是列举.逐条陈述.细目.在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串.整型),这种数据类型的变量值限定在固 ...

  8. python中枚举类型enum用法_Python枚举类型Enum用法详解

    实际开发中,我们离不开定义各种类型,当我们需要定义类型时,一般是通过一组整数来定义.比如:定义不同的月份 JAN 1 FEB 2 MAR 3 ... NOV 11 DEC 12 复制代码 大多数人想到 ...

  9. 枚举类型enum用法_Java枚举深度解读,看这篇就够了

    作者 | 涛GuoGuo的跟屁虫丶博Ke 来源 | urlify.cn/aaamQf 66套java从入门到精通实战课程分享 Java枚举 1.枚举类概念的理解与定义 一个类的对象是有限个,确定的,我 ...

最新文章

  1. PHP新手上路(六)
  2. 隐藏在程序旮旯中的“安全问题”
  3. 调整亮度_【紫墨手机摄影课堂】图片调整
  4. 线性回归csv数据集_用mxnet的gluon线性回归训练只有两个特征的数据集
  5. [pytorch、学习] - 4.2 模型参数的访问、初始化和共享
  6. android 列表图片优化经历
  7. unity, 内置shader下载地址
  8. win11 P85主板能正常安装吗 windows11使用p85主板的安装的步骤方法
  9. Windows下Node.js安装Canvas插件
  10. 周志华《机器学习》课后习题(第六章):支持向量机
  11. Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》
  12. 怎么修改计算机密码界面的背景,怎么修改Win7登录界面背景图片(欢迎界面背景图片)?...
  13. 【光流评估】《Optical Flow Estimation using a Spatial Pyramid Network》2016 Tubingen, Germany
  14. 人力资源管理计算机基础,人力资源管理-专-李佑强-计算机应用基础实践报告
  15. 网站加入百度云加速后,出现Error520源站返回未知错误怎么办?
  16. java -jar 工作原理_Java 中的 jar ,天天见,可是你知道它的运行机制吗?
  17. Three.js PBR渲染入门教程
  18. ExBPA工具的使用方法
  19. 冷原子量子计算机,中国在超冷原子量子模拟领域获突破
  20. 基于C# winform设计的打地鼠游戏

热门文章

  1. 宿州学院对口招生计算机试卷题目,宿州学院2017年对口招生学前教育专业技能测试内容及评分标准...
  2. 从苹果星巴克等学到的7条营销法则
  3. 夜神模拟器 设置代理
  4. 华为模拟器静态路由默认路由设置及VLAN配置
  5. Shell自动化管理 for ORACLE DBA
  6. 【华为OJ】【086-密码强度等级】
  7. BootstrapTable之四舍五入处理数据、列的折叠或显示
  8. z-index的理解
  9. vue-router点击打开新的标签页的方法
  10. html iframe随页面滚动,如何隐藏iframe的滚动条,但依然可以页面滚动