C#指南,重温基础,展望远方!(10)C#枚举
2018-05-30 10:37
316 查看
枚举类型是包含一组已命名常量的独特值类型。 需要定义包含一组离散值的类型时,可以定义枚举。 枚举使用一种整型值类型作为其基础存储, 并提供离散值的语义含义。
以下示例声明并使用名为“
Color”的
enum类型,其中包含三个常量值(
Red、
Green和
Blue)。 C#复制
using System; enum Color { Red, Green, Blue } class EnumExample { static void PrintColor(Color color) { switch (color) { case Color.Red: Console.WriteLine("Red"); break; case Color.Green: Console.WriteLine("Green"); break; case Color.Blue: Console.WriteLine("Blue"); break; default: Console.WriteLine("Unknown color"); break; } } static void Main() { Color c = Color.Red; PrintColor(c); PrintColor(Color.Blue); } }
每个 enum
类型都有对应的整型类型(称为 enum
类型的基础类型)。 如果
enum类型未显式声明基础类型,则基础类型为
int。
enum类型的存储格式和可取值范围由基础类型决定。
enum类型需要使用的一组值不受其
enum成员限制。 尤其是,基础类型的
enum的任何值都可以显式转换成
enum类型,并作为
enum类型的不同有效值。
以下示例声明基础类型为
sbyte且名为“
Alignment”的
enum类型。 C#复制
enum Alignment: sbyte { Left = -1, Center = 0, Right = 1 }
如上面的示例所示,
enum成员声明可以包含用于指定成员值的常数表达式。 每个
enum成员的常量值都必须介于
enum的基础类型范围内。 如果
enum成员声明未显式指定值,那么会为成员指定值 0(如果是
enum类型中的首个成员)或原文前一个
enum成员的值加 1。
可使用类型显式转换功能将
Enum值转换成整型值,反之亦然。 例如: C#复制
int i = (int)Color.Blue; // int i = 2; Color c = (Color)2; // Color c = Color.Blue;
任何 enum
类型的默认值都是已转换成 enum
类型的整型值 0。 如果变量被自动初始化为默认值,这就是为 enum
类型的变量指定的值。 为了让 enum
类型的默认值可供方便使用,文本类型 0
隐式转换成任意 enum
类型。 因此,可以运行以下命令。
Color c = 0;
相关文章推荐
- C#指南,重温基础,展望远方!(1)C#语言介绍
- C#指南,重温基础,展望远方!(2)程序结构
- C#指南,重温基础,展望远方!(3)类型和变量
- C#指南,重温基础,展望远方!(4)表达式
- C#指南,重温基础,展望远方!(5)C#语句
- C#指南,重温基础,展望远方!(6)C#类和对象
- C#指南,重温基础,展望远方!(7)C#结构
- C#指南,重温基础,展望远方!(13)C#泛型
- C#指南,重温基础,展望远方!(8)C#数组
- C#指南,重温基础,展望远方!(9)C#接口
- C#指南,重温基础,展望远方!(11)C#委托
- C#指南,重温基础,展望远方!(12)C#特性
- C#零基础入门04:打老鼠初级之枚举、重构、事件处理器
- 10、C#基础整理(集合)
- C#基础篇九OOP属性结构枚举
- 2012-04-13 C#基础学习笔记(10)
- 用《叩响C#之门》复习C#基础知识 第五章 枚举、结构体和数组
- 将 C# 枚举序列化为 JSON 字符串 基础理论
- C#基础精华02(静态类,值类型,引用类型,枚举,结构,ref与out)
- C#基础(五)枚举、数组、命名空间