C#枚举的使用

枚举的使用。
首先来看枚举是什么?枚举类型是一种的值类型,它用于声明一组命名的常数。
一.声明:enum 枚举名{中间放入值.}如:enum
 Student{小明,小红}那么此枚举中就为小红和小明
二.枚举中的赋值
在枚举中.
1:
系统会自动给枚举中的值赋予整数的值(若是不手动赋值,能够理解为下标)
好比咱们想找到他的值,能够写代码以下:
int num = (int)test.小明;
Console.WriteLine(num);
那么此时获得的结果为:0.
同理如若是输入的为
int num = (int)test.小红;
那么获得的结果为:1.
2
若是手动给以赋值
 enum Student{小明=10,小红}
int num1 = (int)test.小明;Console.WriteLine(num);int num2 = (int)test.小红;Console.WriteLine(num);
那么此时获得的结果为:num1=10,num2=11
而此时
enum Student{小明,小红=10}
int num1 = (int)test.小明;Console.WriteLine(num);int num2 = (int)test.小红;Console.WriteLine(num);
那么此时获得的结果为:num1=0,num2=10
能够看出后面的为自动增加

3:在枚举中没法访问外面的东西(说专业点就是方法,属性)好比:

 


是会报错的,固然这里放类是能够的
三:再看看enum的一下方法
enum的一些方法貌似都在Enum中(小编是一边学一边写的,有不对的地方请批评)打开Enum后咱们会发现好多方法 其实有好多方法。但大多都是重写的。 如CompareTo,Equals,Format,ToString,ToObject,Parse,GetHashCode相信大多数的方法你们都认识。其实,HasFlag,IsDefined,GetValues,GetUnderlyingType,GetName,GetTypeCode,GetNames,你们可能有点陌生小编留意的是GetName,GetNames,GetValues 可能会经常使用(小编如今从网上就找不到对其更好的解释,咱们老师也不会讲,如今小编学习很困难) (1)首先来看GetName,方法定义为 public  static string GetName(Type enumType, object value);返回一个string类型的值定义string str = Enum.GetName(typeof(Student),0);输出结果为:小明其中有个typeof能够理解为,是经过他来找到这个enum(枚举)的若是你在定义enum中小明=10,小红那么str将什么都不显示 (2)GetName,方法定义为 public static string[] GetNames(Type enumType);返回一个string[]类型的值定义为:string[] str = Enum.GetNames(typeof(Student));利用for循环输出的为:小明,小红 (3)GetValues,(小编发现不是多好用,能够不太会吧。。。) 方法定义为public static Array GetValues(Type enumType);返回一个Array类型的值Array arr = Enum.GetValues(typeof(test)); 也是经过for循环输出:for  (int i = 0; i < 2; i++){Console.WriteLine(arr.GetValue(i));}发现结果是同样的.
相关文章
相关标签/搜索