C#中的枚举类型(enum type)

简介:

ylbtech 原文 C#中的枚举类型(enum type)

概念

枚举类型(enum type)是具有一组命名常量的独特的值类型。在以下示例中:
复制代码
enum Color
{ 
    Red,
    Green,
    Blue
}
复制代码

  声明一个名为 Color 的枚举类型,该类型具有三个成员:Red、Green 和 Blue。

  枚举具体是怎么声明呢?枚举声明用于声明新的枚举类型。枚举声明以关键字 enum 开始,然后定义该枚举类型的名称、可访问性、基础类型和成员。具体格式:

  修饰词(new、public、protected、internal、private)enum 枚举类型名:整数类型

{ 
    enum-member-declarations,
    enum-member-declaration
}

 

测试例

  枚举类型一般用于列出唯一的元素,如一周的各天、国家/地区名称,等等。下面的示例代码声明并使用一个名为 Color 的枚举类型,该枚举类型有三个常数值 Red、Green 和 Blue。 复制代码
复制代码
using System;

namespace ConsoleApplication1
{
    enum Color { Red, Green, Blue } class EnumTypeExample { 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(string[] args) { Color c = Color.Red; PrintColor(c); PrintColor(Color.Blue); } } }
复制代码

//Execation Result

Red
Blue
请按任意键继续. . .

 

赋值

 一个枚举的关联值或隐式地、或显示地被赋值。如果枚举成员的声明中具有 constant-expression 初始值设定项,则该常量表达式的值(它隐式转换为枚举的基础类型)就是该枚举成员的关联值。如果枚举成员的声明不具有初始值设定项,则它的关联值按下面规则隐式地设置:

  如果枚举成员是在枚举类型中声明的第一个枚举成员,则它的关联值为零。否则,枚举成员的关联值是通过将前一个枚举成员(按照文本顺序)的关联值加 1 得到的。这样增加后的值必须在该基础类型可表示的值范围内;否则,会出现编译时错误。有关枚举类型成员关联值赋值案例,参考下例:

复制代码
using System;

namespace Test
{
    public enum Day : uint //如果不设置数据类型,默认为 int { Mon=1,Tue=2,Wed=3,Thu=4,Fri=5,Sat,Sun} class EnumType { public static void Main(string[] args) { Console.WriteLine(ChooseDay(Day.Sun)); Console.WriteLine(ChooseDay(Day.Mon)); } static string ChooseDay(Day d) { string tmp = string.Empty; switch (d) { case Day.Mon: tmp = string.Format("你选择一周中的第{0}天(即周一),工作",(uint)d); break; case Day.Tue: tmp = string.Format("你选择一周中的第{0}天(即周二),工作", (uint)d); break; case Day.Wed: tmp = string.Format("你选择一周中的第{0}天(即周三),工作", (uint)d); break; case Day.Thu: tmp = string.Format("你选择一周中的第{0}天(即周四),工作", (uint)d); break; case Day.Fri: tmp = string.Format("你选择一周中的第{0}天(即周五),工作", (uint)d); break; case Day.Sat: tmp = string.Format("你选择一周中的第{0}天(即周六),休息", (uint)d); break; case Day.Sun: tmp = string.Format("你选择一周中的第{0}天(即周日),休息", (uint)d); break; default: tmp = "不合法"; break; } return tmp; } } }
复制代码

//Execation Result

你选择一周中的第7天(即周日),休息
你选择一周中的第1天(即周一),工作
请按任意键继续. . .

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。


    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6017196.html ,如需转载请自行联系原作者




相关文章
C#数据类型之枚举类型
C#数据类型之枚举类型
437 0
C# 枚举(Enum)
枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。 C# 枚举是值类型。换句话说,枚举包含自己的值,且不能继承或传递继承。
180 9
|
安全 API C#
C#.Net筑基-类型系统②常见类型--枚举Enum
枚举(enum)是C#中的一种值类型,用于创建一组命名的整数常量。它们基于整数类型(如int、byte等),默认为int。枚举成员可指定值,未指定则从0开始自动递增。默认值为0。枚举可以与整数类型互相转换,并可通过`[Flags]`特性表示位域,支持位操作,用于多选场景。`System.Enum`类提供了如`HasFlag`、`GetName`等方法进行枚举操作。
233 7
|
PHP C# 索引
C#(十)之枚举类型与结构体
枚举类型基本用法;官方给的C#结构体的特点、基本用法。
222 0
C#(十)之枚举类型与结构体
|
存储 C# C++
C# 结构体(Struct)、 枚举(Enum)
C# 结构体(Struct) 在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。 结构体是用来代表一个记录。假设您想跟踪图书馆中书的动态。您可能想跟踪每本书的以下属性:
286 0
|
存储 C# vr&ar
【100个 Unity小知识点】 | C#中通过 数字int值 获取 枚举Enum 中的数值
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!