enum是用来声明枚举类型数据,它可以像数组一样存储许多的元素,但是不同于数组的是,它除了数字不能存储以外,其他类型的如字母、特殊符号、汉字都可以以任意组合存入enum当中去。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
enum的声明:enum A { a, b, c };
enum声明不同于数组,其只可以声明在Main()方法体外,在Main()中可以被调用。
enum的枚举数值默认是从0开始的,但是也可以强制元素序列进行改变。enum A {a=1, b, c}; 这样就可以实现了。
enum可以通过枚举名加点通过枚举的元素访问枚举数值。例:
int i = (int)A.a;枚举值虽然是int类型的,但是也必须进行显示的强制转换。
int i = (int)A.a;枚举值虽然是int类型的,但是也必须进行显示的强制转换。
同样enum也可以通过枚举数值来访问枚举内的各个元素。方法是:Console.WriteLine( " (A)1 " );这样就可以访问enum内的各个元素。
下面是一个小程序,用enum来实现,实现星期几到日曜日、月耀日、火耀日等的转换。
using
System
;
using
System
.
Collections
.
Generic
;
using
System
.
Linq
;
using
System
.
Text
;
namespace
TestForEmue
{
class
Program
{
enum
Weeks
{
日
,
月
,
火
,
水
,
木
,
金
,
土
};
static
void
Main
(
string
[]
args
)
{
Console
.
WriteLine
(
"输入数字“7”退出程序!"
);
while
(
true
)
{
Console
.
Write
(
"输入一个数字(0-6,0代表星期日):"
);
try
{
int
days
=
Int32
.
Parse
(
Console
.
ReadLine
());
if
(
days
== 0)
{
Console
.
WriteLine
(
"星期日是{0}曜日"
, (
Weeks
)
days
);
}
//else if (days == 1 || days == 2 || days == 3 || days == 4 || days == 5 || days == 6)
else
if
(
days
>= 1 &&
days
<= 6)
{
Console
.
WriteLine
(
"星期{0}是{1}曜日"
,
days
, (
Weeks
)
days
);
//获得简称。
}
else
if
(
days
== 7)
//判断退出条件
{
break
;
}
else
{
Console
.
WriteLine
(
"输入内容不合法!"
);
}
}
catch
{
Console
.
WriteLine
(
"输入内容不合法!"
);
}
}
}
}
}
效果图:
转载于:https://blog.51cto.com/shinestar/352056