关于枚举的一个小问题!
我在书上看到这样一个枚举定义,可是我不知道它为什么要继承int呢??
对int的继承有什么意义??什么作用呢???
enum Medal:int
{
Gold,
Silver,
Bronze
}
问题点数:90、回复次数:5Top
1 楼czhenq(...... fucking life. I want to change.)回复于 2006-03-02 20:10:06 得分 30
这不是继承 而是指定枚举得基础类型为int。C#中,枚举得基础类型默认为int,所以不写:int也行。
枚举得基础类型可以是除了char以为得任何基础类型。
例如指定为long类型:
enum enumtext:long
{
}Top
2 楼zhangjianying(只用Mono和java)回复于 2006-03-02 20:15:49 得分 30
enum Medal{
Gold,
Silver,
Bronze
}
Gold默认值是 0
Silver 1
Bronze 2Top
3 楼lily_ok(丽丽)回复于 2006-03-02 20:20:53 得分 0
to:czhenq(修身、齐家、治国、富天下)
"而是指定枚举得基础类型为int"
我想知道这在程序里的意义是什么,做什么用的????
to:zhangjianying(临兵の斗い者皆列阵在あ前)
你的意思是说,为枚举得基础类型是为了使它每个枚举值对应相应的数?????
Top
4 楼LixingTie(生铁)回复于 2006-03-02 20:39:51 得分 30
枚举的基础类型指的是枚举的索引值类型。例如指定一个枚举的基础类型为int,那么此枚举的索引值就为int型.
就像你看到的那个例子一样。Gold对应的是int类型整数1,Silver对应的是int类型整数2,Bronzeint类型整数3。
但假设枚举中的枚举数很多很多,超出了int类型所能表达的范围,那就要给枚举指定一个范围更大的基础类型,比如说long型。看看下面的例子:
enum Medal:long
{
Gold,
Silver,
Bronze
}
对你的例子作了一下修改,把基础类型改为long型,则此时Gold对应的就是long类型整数的0,Silver对应的是long类型整数的1,Bronze对应的则是long类型整数的2。当然,就算枚举中的枚举数没有超出int的范围你也可以指定它的基础类为int以外的其它整数类型。Top
5 楼LixingTie(生铁)回复于 2006-03-02 20:41:45 得分 0
-->就像你看到的那个例子一样。Gold对应的是int类型整数1,Silver对应的是int类型整数2,Bronzeint类型整数3。
================
这里打错了,应该是
-->就像你看到的那个例子一样。Gold对应的是int类型整数0,Silver对应的是int类型整数1,Bronzeint类型整数2。
呵呵,不好意思Top




