C#的显式枚举转换问题

看下面问号处usingSystem;enumWeekday{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturda... 看下面问号处
using System;

enum Weekday{
Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
};

class Test

{
public static void Main(){
Weekday day;
day=(Weekday)3; ////////为什么用Weekday??? 为什么不能用long或double???

Console.WriteLine(day);
}
}
这里运行出来的结果是Wednesday,我也认为是这个结果。
可教程上说结果是3,是教程错了吧?
展开
 我来答
xupeiying
2011-05-19 · TA获得超过468个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:566万
展开全部
day 是weekday枚举,这是3转换成weekday呀,为什么要用long或者double。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
l_海风晓月
2011-05-20
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
enum Weekday{
Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
};
这段代码定义了一个Weekday枚举类型,该类型包含七个成员(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday)
枚举里的每一个元素实际上一个整数,在没有特别指定每一个元素对应的整数,编译器默认把0映射到第一个元素上,然后再每个后续的元素加1递增。
Weekday day; day=(Weekday)3;
这段代码声明了一个Weekday类型的变量day,并将该变量赋值为Weekday类型中整形为3的元素。
Console.WriteLine(day);//运行结果应该是Wednesday,可能是教程错了;
day强制转换为int类型后,运行的结果为3。
前面已经有人回答的很好了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式