武汉龙图教育:在C#如何应用枚举.docx

武汉龙图教育:在C#如何应用枚举.docx

ID:62053121

大小:123.75 KB

页数:14页

时间:2021-04-16

武汉龙图教育:在C#如何应用枚举.docx_第1页
武汉龙图教育:在C#如何应用枚举.docx_第2页
武汉龙图教育:在C#如何应用枚举.docx_第3页
武汉龙图教育:在C#如何应用枚举.docx_第4页
武汉龙图教育:在C#如何应用枚举.docx_第5页
资源描述:

《武汉龙图教育:在C#如何应用枚举.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、武汉龙图教育:在C#如何应用枚举一、在学习枚举之前,首先来听听枚举的优点。  1、枚举能够使代码更加清晰,它允许使用描述性的名称表示整数值。  2、枚举使代码更易于维护,有助于确保给变量指定合法的、期望的值。  3、枚举使代码更易输入。二、枚举说明  1、简单枚举·枚举使用enum关键字来声明,与类同级。枚举本身可以有修饰符,但枚举的成员始终是公共的,不能有访问修饰符。枚举本身的修饰符仅能使用public和internal。·枚举是值类型,隐式继承自System.Enum,不能手动修改。System.Enum

2、本身是引用类型,继承自System.ValueType。·枚举都是隐式密封的,不允许作为基类派生子类。·枚举类型的枚举成员均为静态,且默认为Int32类型。·每个枚举成员均具有相关联的常数值。此值的类型就是枚举的底层数据类型。每个枚举成员的常数值必须在该枚举的底层数据类型的范围之内。如果没有明确指定底层数据类型则默认的数据类型是int类型。·枚举成员不能相同,但枚举的值可以相同。·枚举最后一个成员的逗号和大括号后面的分号可以省略  C#提供类一个类来方便操作枚举,下面给出这个类的常用方法:方法名称Compar

3、eTo将此实例与指定对象进行比较并返回一个对二者的相对值的指示Equals指示此实例是否等于指定的对象Format根据指定格式将指定枚举类型的指定值转换为其等效的字符串表示形式GetName在指定枚举中检索具有指定值的常数的名称GetNames检索指定枚举中常数名称的数组GetTypeCode 返回此实例的基础TypeCodeGetUnderlyingType返回指定枚举的基础类型GetValues索指定枚举中常数值的数组HasFlag确定当前实例中是否设置了一个或多个位域IsDefined返回指定枚举中是否

4、存在具有指定值的常数的指示Parse将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象。一个参数指定该操作是否不区分大小写TryParse将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象。用于指示转换是否成功的返回值   要显示指定枚举的底层数据类型很简单,只需在声明枚举的时候加个冒号,后面紧跟要指定的数据类型。enumsex:byte  //显示指定枚举的底层数据类型{male,female,  //此逗号可以省略};      //此分号可以省略  显式设置枚举的成员常量

5、值,默认是从0开始,逐个递增的。但是以下例子却设置成了1,2,3,4,5,6,7,0。而且成员值可以一样的。enumWeek{Monday=1,Tuesday=2,Wednesday=3,Sunday=0,    Everyday=1  //成员的值可以设置成一样的,但是成员不行}  Console.WriteLine((int)Week.Monday);  //获取值  示例,由枚举值获取枚举名称与由枚举名称获取枚举值classProgram{staticvoidMain(string[]args){Con

6、sole.WriteLine(Enum.GetName(typeof(Man),1));//还是刘备(由值获取名字)string[]array1=Enum.GetNames(typeof(Man));Console.WriteLine(array1[1]);//关羽Arrayarray2=Enum.GetValues(typeof(Man));Console.WriteLine(array2.GetValue(1));//还是关羽Typet=Enum.GetUnderlyingType(typeof(Man)

7、);Console.WriteLine(t);//输出Int32//由值获取内容inti=1;stringName=Enum.Parse(typeof(Man),i.ToString()).ToString();//此时Name="刘备"Console.WriteLine(Name);//由值获取内容stringName2="关羽";intj=Convert.ToInt32(Enum.Parse(typeof(Man),Name2));//此时j=2Console.WriteLine(j);Console.R

8、eadKey();}}enumMan{刘备=1,关羽=2,张飞=3}   2、标志枚举  标志枚举要在顶部加[System.Flags]特性进行声明。而且枚举支持组合运算。先来看个例子classProgram{staticvoidMain(string[]args){varman=Week.白

9、Week.美;//赋值为101计算方法001或上100,结果是101Console.WriteLine((

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。