开发手册 欢迎您!
软件开发者资料库

C# 枚举(enum)

C# 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。本文主要介绍C# 枚举(enum) 。

1、枚举(enum)

enum是一个特殊的类,代表一组常量(不可更改的变量,如,const变量)。

要创建enum,请使用enum关键字(而不是类或接口),并用逗号分隔常量。请注意,它们应使用大写字母:

例如:

访问enum中常量可以使用.的方式访问:

enum Level {
LOW,
MEDIUM,
HIGH
}

如访问枚举类型LevelLOW则使用Level.LOW

2、类中定义枚举

还可以在类中包含一个enum

例如,

using System;namespace wonhero{    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 wonhero{    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一样具有属性和方法。唯一的区别是枚举常量是不可更改,不能用于创建对象,并且不能扩展其他类(但可以实现接口)。