前言:通过阅读这篇文章能让你弄懂C#中的枚举,推荐刚入门的小白白嗷!!! 枚举是一组命名整型常量。 枚举类型声明为一组相关的符号常数定义了一个类型名称。枚举用于“多项选择”场合,就是程序运行时从编译时已经设定的固定数目的“选择”中做出决定。 枚举类型为定义一组可以赋给变量的命名整数常量提供了一种有效的方法。例如,假设您必须定义一个变量,该变量的值表示一周中的一天。该变量只能存储七个有意义的值。若要定义这些值,可以使用枚举类型。 定义枚举类型的语法形式如下: 1.访问修饰符: 每个枚举成员均具有相关联的常数值,每个枚举成员的常数值必须在该枚举的基础类型的范围之内。 编译时产生错误,原因是常数值-1、-2 和 –3不在基础整型 uint 的范围内。 在枚举类型声明中第一个枚举成员的值默认为0,以后枚举成员的值在前一个枚举成员的值基础上加1(按文本顺序进行) 显示的结果: 若在枚举类型声明中显式设置了枚举成员的值,则紧接着下一个枚举成员的值会在上一个枚举成员的值基础上加1。 显示的结果: 枚举类型转换为整型 整型转换为枚举类型: 注意:这里用到Enum.Parse()方法。这个方法带3个参数,第一个参数是要使用的枚举类型,其语法是 注意:这里的Enum.GetName()方法与Enum.Parse()方法类似,但是Enum.GetName()方法只有两个参数,第一个参数语法格式相同,第二个参数Enum.Parse()方法里是string类型包含要转换的值或名称的字符串,而Enum.GetName()方法里则是object类型特定枚举常量的值目录:
一、枚举的概念
注意:
二、枚举的作用
三、枚举的声明
[访问修饰符] enum 枚举名:数据类型 { 枚举成员1, 枚举成员2, };//注意:此处的分号和最后一个枚举成员后的逗号可以省略
与类成员的访问修饰符一样,在不写访问修饰符时默认使用private修饰符。
2.数据类型:
指枚举中枚举成员的数据类型。只能是整数类型,包括byte、sbyte、short、ushort、int、uint、long 、ulong
3.枚举成员:
枚举成员是该枚举类型的命名常数。
四、枚举成员
1.枚举成员的数据类型
enum Teacher:uint { 教授=-3, 助教=-2, 讲师=-1 }
2.枚举成员的默认赋值
class Program { enum Teacher:int { 教授, 助教, 讲师 } static void Main(string[] args) { int x = (int)Teacher.教授; int y = (int)Teacher.助教; int z = (int)Teacher.讲师; Console.WriteLine($"教授:{x}---助教:{y}---讲师:{z}"); Console.ReadLine(); } }
3.枚举成员的显式赋值
class Program { enum Teacher:int { 教授=1, 副教授, 助教=5, 讲师 } static void Main(string[] args) { int x = (int)Teacher.教授; int y = (int)Teacher.副教授; int z = (int)Teacher.助教; int k = (int)Teacher.讲师; Console.WriteLine($"教授:{x}---副教授:{y}---助教:{z}---讲师:{k}"); Console.ReadLine(); } }
五、枚举类型、整型、字符串类型三者相互转换
1.枚举类型转换为整型或字符串类型
class Program { enum Teacher { 教授=0, 副教授=1, 助教=2, 讲师=3 } static void Main(string[] args) { Teacher b = Teacher.副教授; int y = (int)b;//将枚举类型强制转换成整型 Console.WriteLine($"将枚举类型转换成整型:{y}"); Console.ReadLine(); } }
枚举类型转换为字符串类型: class Program { enum Teacher { 教授=0, 副教授=1, 助教=2, 讲师=3 } static void Main(string[] args) { Teacher a = Teacher.副教授; string str = a.ToString();//将枚举类型强制转换成字符串类型 Console.WriteLine($"将枚举类型转换成字符串类型:{str}"); Console.ReadLine(); } }
2.整型或字符串类型转换成枚举类型
class Program { enum Teacher { 教授=0, 副教授=1, 助教=2, 讲师=3 } static void Main(string[] args) { int a = 0; Teacher x = (Teacher)a; //将整型强制转化为枚举类型 Console.WriteLine($"将整型转换成枚举类型:{x}"); Console.ReadLine(); } }
字符串类型转换为枚举类型:typeof(枚举名)
。第二个参数是要转换的字符串,第三个参数是一个bool,指定在进行转换时是否忽略大小写。 class Program { enum Teacher { 教授=0, 副教授=1, 助教=2, 讲师=3 } static void Main(string[] args) { string str = "助教"; //这里实质是先将字符串类型转换成object类型再强制转换成枚举类型 Teacher y =(Teacher)Enum.Parse(typeof(Teacher),str); //将字符串类型强制转换成枚举类型 Console.WriteLine($"将字符串类型转换成枚举类型:{y}"); Console.ReadLine(); }
3.将整型转换为字符串类型
class Program { enum Teacher { 教授=0, 副教授=1, 助教=2, 讲师=3 } static void Main(string[] args) { int a = 2; //下面这种方法的意思是检索具有指定值的常数的名称 string y = Enum.GetName(typeof(Teacher),a);//将整型转换成字符串类型 Console.WriteLine($"将整型转换成字符串类型:{y}"); Console.ReadLine(); } }
4.将字符串类型转换为整型
class Program { enum Teacher { 教授=0, 副教授=1, 助教=2, 讲师=3 } static void Main(string[] args) { string str = "助教"; //这里实质是将字符串先转换成枚举类型再强制转换成整型 int k = (int)Enum.Parse(typeof(Teacher), str); Console.WriteLine($"将字符串类型转换成整型:{k}"); Console.ReadLine(); } }
感谢看完这篇文章,希望通过这篇文章可以让你搞明白C#中的枚举,加油加油加油!!!
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算