C#中的枚举类型enum用法
定义一个简单的枚举类型:
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用法相关推荐
- mysql 枚举 enum用法_mysql中的枚举类型ENUM的用法:
mysql中的枚举类型ENUM的用法: (2010-06-18 13:44:13) mysql中的枚举类型ENUM的用法: mysql中的枚举类型ENUM是一个字符串对象,它的值是自表创建时在列规定中 ...
- java的枚举类型是什么_什么是枚举(java枚举类型enum用法)
最佳回答 枚举 1.枚举 (enumeration) 值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称.枚举类型有名称.基础类型和一组字段.基础类型. &qu ...
- 枚举类型enum用法赋值
枚举常量是一种枚举类型中的值,及枚举值,枚举类型是由用户自定义的,只用用户在程序中定义它才能被使用.创建一个枚举类型的基本语法: enum 枚举类型名{ 枚举值1,枚举值2,- } 枚举类型名是由用户 ...
- c枚举类型enum例题_c枚举类型enum用法 枚举类型enum用法 怎么去取所有
JUDGE(S W ) 指 W 属于 S 枚举类型还是自定义函数里的2个变量不要太久太久不联系我,我怕我一不小心把你忘了. (1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素 ...
- c语言枚举类型enum用法参数,C语言枚举类型(Enum)
在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等. 以每周七天为例, ...
- mysql枚举类型enum用法_mysql中枚举类型之enum详解
enum类型就是我们常说的枚举类型,它的取值范围需要在创建表时通过枚举方式(一个个的列出来)显式指定,对1至255个成员的枚举需要1个字节存储: 对于255至65535个成员,需要2个字节存储.最多允 ...
- java枚举类型enum用法_java枚举类型enum用法和原理介绍【传智播客】
Enum枚举类型 Enum的全写是Enumeration,这个词的翻译是列举.逐条陈述.细目.在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串.整型),这种数据类型的变量值限定在固 ...
- python中枚举类型enum用法_Python枚举类型Enum用法详解
实际开发中,我们离不开定义各种类型,当我们需要定义类型时,一般是通过一组整数来定义.比如:定义不同的月份 JAN 1 FEB 2 MAR 3 ... NOV 11 DEC 12 复制代码 大多数人想到 ...
- 枚举类型enum用法_Java枚举深度解读,看这篇就够了
作者 | 涛GuoGuo的跟屁虫丶博Ke 来源 | urlify.cn/aaamQf 66套java从入门到精通实战课程分享 Java枚举 1.枚举类概念的理解与定义 一个类的对象是有限个,确定的,我 ...
最新文章
- PHP新手上路(六)
- 隐藏在程序旮旯中的“安全问题”
- 调整亮度_【紫墨手机摄影课堂】图片调整
- 线性回归csv数据集_用mxnet的gluon线性回归训练只有两个特征的数据集
- [pytorch、学习] - 4.2 模型参数的访问、初始化和共享
- android 列表图片优化经历
- unity, 内置shader下载地址
- win11 P85主板能正常安装吗 windows11使用p85主板的安装的步骤方法
- Windows下Node.js安装Canvas插件
- 周志华《机器学习》课后习题(第六章):支持向量机
- Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》
- 怎么修改计算机密码界面的背景,怎么修改Win7登录界面背景图片(欢迎界面背景图片)?...
- 【光流评估】《Optical Flow Estimation using a Spatial Pyramid Network》2016 Tubingen, Germany
- 人力资源管理计算机基础,人力资源管理-专-李佑强-计算机应用基础实践报告
- 网站加入百度云加速后,出现Error520源站返回未知错误怎么办?
- java -jar 工作原理_Java 中的 jar ,天天见,可是你知道它的运行机制吗?
- Three.js PBR渲染入门教程
- ExBPA工具的使用方法
- 冷原子量子计算机,中国在超冷原子量子模拟领域获突破
- 基于C# winform设计的打地鼠游戏