C#中的枚举类型(enum type)
2016-08-16 14:56
176 查看
C#中的枚举类型(enum type)
枚举类型(enum type)是具有一组命名常量的独特的值类型。在以下示例中:
声明一个名为 Color 的枚举类型,该类型具有三个成员:Red、Green 和 Blue。
枚举具体是怎么声明呢?枚举声明用于声明新的枚举类型。枚举声明以关键字 enum 开始,然后定义该枚举类型的名称、可访问性、基础类型和成员。具体格式:
修饰词(new、public、protected、internal、private)enum 枚举类型名:整数类型
枚举类型一般用于列出唯一的元素,如一周的各天、国家/地区名称,等等。下面的示例代码声明并使用一个名为 Color 的枚举类型,该枚举类型有三个常数值 Red、Green 和 Blue。
//Execation Result
1.B.2, 一个枚举的关联值或隐式地、或显示地被赋值。如果枚举成员的声明中具有 constant-expression 初始值设定项,则该常量表达式的值(它隐式转换为枚举的基础类型)就是该枚举成员的关联值。如果枚举成员的声明不具有初始值设定项,则它的关联值按下面规则隐式地设置:
如果枚举成员是在枚举类型中声明的第一个枚举成员,则它的关联值为零。否则,枚举成员的关联值是通过将前一个枚举成员(按照文本顺序)的关联值加 1 得到的。这样增加后的值必须在该基础类型可表示的值范围内;否则,会出现编译时错误。有关枚举类型成员关联值赋值案例,参考下例:
//Execation Result
枚举类型(enum type)是具有一组命名常量的独特的值类型。在以下示例中:
enum Color { Red, Green, Blue }
声明一个名为 Color 的枚举类型,该类型具有三个成员:Red、Green 和 Blue。
枚举具体是怎么声明呢?枚举声明用于声明新的枚举类型。枚举声明以关键字 enum 开始,然后定义该枚举类型的名称、可访问性、基础类型和成员。具体格式:
修饰词(new、public、protected、internal、private)enum 枚举类型名:整数类型
{ enum-member-declarations, enum-member-declaration }
1.B,测试源代码返回顶部 |
枚举类型一般用于列出唯一的元素,如一周的各天、国家/地区名称,等等。下面的示例代码声明并使用一个名为 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 请按任意键继续. . .
1.B.2, 一个枚举的关联值或隐式地、或显示地被赋值。如果枚举成员的声明中具有 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天(即周一),工作 请按任意键继续. . .
相关文章推荐
- C#中的枚举类型(enum type)
- C#中的枚举类型(enum type)
- C# String 类型 转为 Enum 枚举类型
- 掌握java枚举类型(enum type)
- C#中枚举类型enum的使用[转载]
- C# 枚举类型(enum)学习
- C#语法小知识(三)枚举类型enum
- C# 枚举类型enum与字符间的换换
- C# Convert an enum to other type of enum
- C#.NET中的枚举类型(关键字enum)
- 【转】掌握java枚举类型(enum type)
- 【C#】枚举类型Enum与状态设计模式
- Inheriting a C++ enum type
- C/C++中枚举类型(enum)
- C# Enum设计和使用的相关技巧
- C# Idioms: Enum还是Enum Class(枚举类)
- C# Idioms:Enum还是Enum Class(枚举类) (转)
- [转载]using Convert.ChangeType() on nullable types in C#
- 出现:'DataTypeEnum' : ambiguous symbol 错误怎么办?
- C# Enum设计和使用的相关技巧