C#-枚举(十三)
程序员文章站
2024-01-26 23:44:34
概念 枚举是一组命名整型常量 枚举类型是使用 enum 关键字声明的 例如定义一个变量,该变量的值表示一周中的一天: enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}; 声明枚举变量 一般语法: e ......
概念
枚举是一组命名整型常量
枚举类型是使用 enum 关键字声明的
例如定义一个变量,该变量的值表示一周中的一天:
enum days { sunday, monday, tuesday, wednesday, thursday, friday, saturday};
声明枚举变量
一般语法:
enum <enum_name>
{
enumeration list
};
enum_name:枚举类型名称
enumeration list:使用逗号分隔的标识符列表
枚举列表中的每个符号表示一个整数值,后面符号的值大于前面符号的值
使用特点
枚举声明可以显式地声明byte、sbyte、short、ushort、int、uint、long或ulong类型作为对应的基础类型
没有显式地声明基础类型的枚举声明意味着所对应的基础类型是int
任意两个枚举成员不能具有相同的名称
枚举成员默认值在枚举类型中声明的第一个枚举成员它的默值为零
以后的枚举成员值是将前一个枚举成员(按照文本顺序)的值加1得到的
为枚举成员显示赋值允许多个枚举成员有相同的值
枚举值都不能超过它的基础类型范围,否则会报错
枚举类型与基础类型的转换基础类型不能隐式转换为枚举类型,枚举类型也不能隐式转换为基础类型
使用getnames()遍历
1 using system; 2 3 public class enumexample 4 { 5 public enum days { sunday, monday, tuesday, wednesday, thursday, friday, saturday }; 6 7 public static void main() 8 { 9 foreach (string day in enum.getnames(typeof(days))) 10 { 11 console.writeline(day); 12 console.readkey(); 13 } 14 } 15 }
结果
使用getvalues()遍历
1 using system; 2 3 public class enumexample 4 { 5 public enum days { sunday, monday, tuesday, wednesday, thursday, friday, saturday }; 6 7 public static void main() 8 { 9 foreach (days day in enum.getvalues(typeof(days))) 10 { 11 console.writeline(day); 12 console.readkey(); 13 } 14 } 15 }
结果