enums枚举是值类型,数据直接存储在栈中,而不是使用引用和真实数据的隔离方式来存储。
(1)默认情况下,枚举中的第一个变量被赋值为0,其他的变量的值按定义的顺序来递增(0,12,3...),因此以下两个代码定义是等价的:
enum TrafficLight
{
Green,
Yellow,
Red
}
enum TrafficLight
{
Green = 0,
Yellow = 1,
Red = 2
}
(2)enum枚举类型的变量的名字不能相同,但是值可以相同,例如:
enum TrafficLight
{
Green = 0,
Yellow = 1, // Duplicate value, OK
Red = 1 // Duplicate value, OK
}
(3)如果enum中的部分成员显式定义了值,而部分没有;那么没有定义值的成员还是会按照上一个成员的值来递增赋值,例如:
enum LoopType
{
None, // value is 0
Daily, // value is 1
Weekly = 7,
Monthly, // value is 8
Yeayly, // value is 9
DayGap = 15,
WeekGap, // value is 16
MonthGap, // value is 17
YearGap // value is 18
}
(4)enum枚举成员可以用来作为位标志,同时支持位的操作(位与,位或等等),例如:
enum CardDeckSettings : uint
{
SingleDeck = 0x01, // Bit 0
LargePictures = 0x02, // Bit 1
FancyNumbers = 0x04, // Bit 2
Animation = 0x08 // Bit 3
}
十六进制数的一个作用就是用来进行位运算和操作,很方便。
分享到:
相关推荐
enum.docx ,详细介绍了enum的用法,枚举用法在c#中比较常见,希望会有帮助哦
Enum的用法Enum的用法Enum的用法Enum的用法
NULL 博文链接:https://rensanning.iteye.com/blog/2013734
c#遍历枚举(ENUM)类型的方法,简单实用,适合c#初学者
Java enum的用法详解,可作为开发api
java中enum枚举的详细用法。 0.0
enum day {Sun,Mon,Tue,Wed,Thu,Fri,Sat}; 默认情况下,枚举符的值从0开始,其后值总是前面一个+1。 即Sun=0,Mon=1,Tue=2,Wed=3,Thu=4,Fri=5,Sat=6 也可以自己定义数值,其后值总是前面一个+1 例如: enum day {Sun=...
主要介绍了C#中enum和string的相互转换的相关资料,需要的朋友可以参考下
Java中enum的用法.pdf
给刚学C#的同学一些帮助 public enum CardColor : byte { 红桃, 方片, 梅花, 黑桃, }
C#与C调用C++,非托管,含struct调用及enum公用,完整项目,可直接编译或运行。 项目将所有工程的输出统一到Debug。 vs2015+Framework4.6,注意工程的配置。 所有东西自写,只是出于样例参考的作用,所以代码规范...
Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮。
关于typedef的用法总结,和宏定义Define的一些区别
本文主要介绍C语言中的enum(枚举)用法,感性趣的朋友可以参考下。
C#例子代码 A0060_EnumC#例子代码 A0060_EnumC#例子代码 A0060_EnumC#例子代码 A0060_EnumC#例子代码 A0060_EnumC#例子代码 A0060_EnumC#例子代码 A0060_EnumC#例子代码 A0060_EnumC#例子代码 A0060_EnumC#例子代码 ...
Java enum的用法详解
Net C#中枚举的声明格式如下所示: [attributes] [modifiers] enum identifier [:base-type] {enumerator-list} [;] FlagsAttribute属性就是枚举类型的一项可选属性。它的主要作用是可以将枚举作为位域处理(P.S. ...
枚举常量是枚举类型中的值,即枚举值。枚举类型是一种用户定义的类型,只有用户在程序中定义它后才能被使用。