C#中的枚举类型的一个问题:

xiaojunsyiae 2002-11-03 03:28:13
《Programming C#》中,在示例中定义的枚举类型,好像前后都不一样哦!
例如定义了以下两个枚举类型:
enum servingsizes:uint
{
small=1,
regular=2,
large=3 //没有逗号结束。
}
另一个:
enmu temperatures
{
wickedcode=0,
freezingpoint=32,
lightjackettweather=60,
swimmingweather=72,
boilingpoint=212, //使用了逗号结束。
}
请问这个在最后一行需不需要用逗号结尾,然后类似与wickedcode=0的表达式,到底是给wickedcode赋序列值,还是赋初始化值,如果是赋初始化值,使用writeline好像又打印不出来,如果是赋序列值,好像又和他的上下文不符!
郁闷中,请高手解答!
...全文
34 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
snewxf 2002-11-03
  • 打赏
  • 举报
回复
对还是支持没有逗号的这种说法!
这样我想要合理点吧!
就像一个数组赋初值一样。总不可能后面还多个逗号吧!(多了就出错!)
呵呵!
91大白兔奶糖 2002-11-03
  • 打赏
  • 举报
回复
1、没有逗号的
2、枚举类型是常量
3、输出前要强制类型转换
例如:
enum days {mon=1,tue=2,sun=7};
输出时用
int x=(int)days.sun;
Console.Write("sun={0}",x);
OK!!!
chnking 2002-11-03
  • 打赏
  • 举报
回复
1、应该是没有逗号的,不过加个逗号也不会出错
2、枚举就是这样的,枚举中的每个元素都要跟一个int,char,long等这种类型的对应的,默认是从0开始的int类型,也可以自己定义。
枚举可以直接跟枚举类型进行比较,枚举也可以跟int类型比较,不过先要把枚举类型转成int:5==(int)temperatures.swimmingweather
haoco 2002-11-03
  • 打赏
  • 举报
回复
标准的C#的枚举是在最后一个是没有逗号的。
还有上面的0、32之类的数据不是给它赋初值,应该是说给它代表相应的值(枚举只是整数的扩展),还有就是枚举不能直接用Write之类的语句打印出来,你可以参考其它书籍,我想都会有说明的
yarshray 2002-11-03
  • 打赏
  • 举报
回复
我实验的结果是都可以

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧