枚举类型是一种特殊的值类型,可以在枚举类型中定义一组命名的数值常量。它常用于一些在编译时已知范围的常量。但这些常量的具体值要在执行时才能确定,默认基数从O开始,也可指定数值。比如,已知三原色是红蓝绿,它们同属于颜色。
enum Color
{
Red=1,
Blue=3,
Green=4
}
enum Days
{ Saturday = 1,
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday
} ;
//使用
Colors myColors = Colors.Red;
string strColor = myColors.toString();
int IntColor = ( int )myColors ;
//位或
Colors myColors = Colors.Red | Colors.Blue | Colors.Yellow;
//位与
Colors myColors = Colors.Red & Colors.Blue & Colors.Yellow;
//遍历
foreach (string s in Enum.GetNames( typeof (Days)))
Response.Write(s + " -- " + Enum.Parse( typeof (Days), s).ToString());
//转换
Colors mc = Colors Enum.Parse( typeof (Colors ), " red " );
if (System.Enum.IsDefined( typeof (Days), " Monday " ))
Days ds = (Days)Enum.Parse( typeof (Days), " Monday " );
我们创建一个shape(形体)类,每一个形体都会有颜色。颜色是属于“shape”的属性。但具体的颜色就要在执行时才能决定
class Shape
{
public void Fill(Color color)
{
switch(color)
{
case Color.Red:
...
break;
case Color.Blue:
...
break;
case Color.Green:
...
break;
default:
break;
}
}
}
原文链接:https://blog.csdn.net/nnsword/article/details/1912268
public enum NoticeType
{
Notice = ' A ' ,
LabRule = ' H ' ,
HotInformation = ' N ' ,
Column = ' C ' ,
All = ' 1 ' ,
Null = ' 0 '
}
// 新建枚举类型
NoticeType noticeType1 = NoticeType.Column;
// 把枚举类型转换为string d="Column"
string d = noticeType1.ToString();
// 取得枚举类型的基数 dd='C'
char dd = ( char )noticeType1;
// 通过基数取得对应的枚举类型 noticeType2 = NoticeType.Notice
// (NoticeType)'A'; 两种方式都可以
oticeType noticeType2 = (NoticeType)Char.Parse( " A " );
// 通过名称取得枚举类型 noticeType3 = NoticeType.Notice
NoticeType noticeType3 = (NoticeType)Enum.Parse( typeof (NoticeType), " Notice " );