C# 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。本文主要介绍C# 枚举(enum) 。
1、枚举(enum)
enum
是一个特殊的类,代表一组常量(不可更改的变量,如,const
变量)。
要创建enum
,请使用enum
关键字(而不是类或接口),并用逗号分隔常量。请注意,它们应使用大写字母:
例如:
访问enum
中常量可以使用.
的方式访问:
enum Level { LOW, MEDIUM, HIGH }
如访问枚举类型Level
中LOW
则使用Level.LOW
2、类中定义枚举
还可以在类中包含一个enum
:
例如,
using System; namespace cjavapy { public class EnumDemo { enum Level { LOW, MEDIUM, HIGH } public static void Main(string[] args) { Level myVar = Level.MEDIUM; Console.WriteLine(myVar); } } }
3、switch语句中的enum
枚举常用于switch
语句中,来判断相应的值:
例如,
using System; namespace cjavapy { enum Level { LOW, MEDIUM, HIGH } public class EnumDemo { public static void Main(string[] args) { Level myVar = Level.MEDIUM; switch (myVar) { case Level.LOW: Console.WriteLine("Low level"); break; case Level.MEDIUM: Console.WriteLine("Medium level"); break; case Level.HIGH: Console.WriteLine("High level"); break; } } } }
4、循环遍历枚举类型
枚举类型具有Enum.GetValues()
方法,该方法返回所有枚举常量的数组。 当要遍历枚举的常量时,此方法很有用:
例如,
for(Level myVar : Enum.GetValues(typeof(Level))){ Console.WriteLine(myVar); }
5、枚举与类之间的区别
枚举可以像class
一样具有属性和方法。唯一的区别是枚举常量是不可更改,不能用于创建对象,并且不能扩展其他类(但可以实现接口)。