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,是教程错了吧? 展开
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,是教程错了吧? 展开
7个回答
展开全部
day 是weekday枚举,这是3转换成weekday呀,为什么要用long或者double。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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。
前面已经有人回答的很好了!
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。
前面已经有人回答的很好了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询