C# 关于枚举
来源:互联网 发布:帝国cms采集教程 编辑:程序博客网 时间:2024/06/11 01:51
关于枚举
枚举的意义:
通过有限离散的整形来限定取值访问,防止无意义数据的垂涎。
枚举的格式:
enum Name:Type{name1,name2,...}
其中Type默认是int类型,可以的类型是:byte、sbyte、short、ushort、int、uint、long 或 ulong。
实例:
enum Days : byte {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
特点:
<1> 可以给枚举类型变量赋以其基类型范围的任何值,不单单局限于已经命名的常量。(通常只用于标志位)
<2> 默认枚举中元素从0开始,依次加1
<3> 可以不使用枚举的自动赋值,自己去重写这个赋值过程
<4> 可以使用枚举中一个值为另一个值赋值,也可以使用整数去赋值
<5> 枚举中允许出现相同的值,但是我感觉这样没有意义。
<6> 枚举用于标志位
<7>枚举值的操作
结果:
0
1
1
1
2
2
one
two
three
枚举的意义:
通过有限离散的整形来限定取值访问,防止无意义数据的垂涎。
枚举的格式:
enum Name:Type{name1,name2,...}
其中Type默认是int类型,可以的类型是:byte、sbyte、short、ushort、int、uint、long 或 ulong。
实例:
enum Days : byte {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
特点:
<1> 可以给枚举类型变量赋以其基类型范围的任何值,不单单局限于已经命名的常量。(通常只用于标志位)
<2> 默认枚举中元素从0开始,依次加1
<3> 可以不使用枚举的自动赋值,自己去重写这个赋值过程
<4> 可以使用枚举中一个值为另一个值赋值,也可以使用整数去赋值
<5> 枚举中允许出现相同的值,但是我感觉这样没有意义。
class Program { static void Main(string[] args) { Ex dd = Ex.cat; Console.WriteLine(dd == Ex.mouse); // output true Console.WriteLine( Ex.bird == Ex.chichen); //output true } enum Ex:byte { dog, cat, mouse = cat,//用已有值为新的值赋值 fox = 1,//用常数赋值 bird = 2, chichen = 2//包含相同的常数 } }
<6> 枚举用于标志位
enum Ef : long { one = 0x00, two = 0x01, three = 0x10 }static void Main(){ Ef ff = Ef.three | Ef.two; Console.WriteLine((int)ff); //output 17}
<7>枚举值的操作
foreach (byte i in Enum.GetValues(typeof(Ex))) Console.WriteLine(i); foreach (string str in Enum.GetNames(typeof(Ef))) Console.WriteLine(str);
结果:
0
1
1
1
2
2
one
two
three
0 0
- C# 关于枚举
- 关于C#中的枚举
- 关于C#的enum枚举
- 关于c# 枚举 enum 的学习
- C#枚举
- C#枚举
- C# - 枚举
- c# 枚举
- C#枚举
- C# 枚举
- C#枚举
- C#枚举
- C#枚举
- C#枚举
- C#枚举
- C#枚举
- C#枚举
- C# 枚举
- list_for_each 详解
- iOS基础一 NSArray
- 登陆、注销
- jquery mobile诡异问题记录
- javaweb之自定义标签库——if标签
- C# 关于枚举
- Spring中ClassPathXmlApplicationContext类的简单使用
- 获取当天是周几
- hdu1251 字典树
- 关于vim+ctags 基于ubuntu 12.04
- 设计一个500界面(400可以套用样式)
- 提高SQL查询的要点
- 安装ADT 提示 android ADT Unable to connect to repository 或 sdk manager更新失败
- 解决虚拟机进不了ubuntu 的问题