枚举在什么地方适用呢?一条普遍规则是,任何使用常量的地方,例如目前用 switch
代码 切换常量的地方。如果只有单独一个 值(例如,鞋的最大尺寸,或者笼子中能装猴子的最大数目),则还是把这个任务留给常量吧。但是,如果定义了一组值,而这些值中的任何一个 都可以用于特定的数据类型,那么将枚举用在这 个地方最适合不过。
有没有知道VB.net 中枚举和数组的区别,我认为数组和枚举一样的,能不能举个例子说明枚举的应用?
#1楼 得分:2 回复 于:2008-10-17 18:15:54
#2楼 得分:2 回复 于:2008-10-17 18:22:18
#3楼 得分:0 回复 于:2008-10-17 18:25:41
引用 2 楼 JeffChung 的回复 :
不知道你为什么会觉得他们一样呢?
,
#4楼 得分:0 回复 于:2008-10-17 18:27:53
引用 2 楼 JeffChung 的回复 :
不知道你为什么会觉得他们一样呢?
lz是火星人...鉴定完毕...
#5楼 得分:2 回复 于:2008-10-17 18:44:44
#6楼 得分:0 回复 于:2008-10-18 09:45:49
枚举对象在任一时刻只能有
一个 常量值,数组对象在任一时刻可以有多个值. ^-^
#7楼 得分:0 回复 于:2008-10-20 09:47:51
呵、我可不是什么火星人啊!我现在就是想不明白他们在应用的时候的区别,比如我现在定义了
一个 枚举,里面有3个值
然后呢我new这个枚举,在把他的值付给变量,这样做的话我也可以用
一个 数组来实现啊,我现在不明白的是枚举比数组
有那些好处呢。
#8楼 得分:5 回复 于:2008-10-20 10:11:43
枚举它有
一个 直观的名字啊
比如Color[myColor.Rad]如果用Color[2],谁看的明白呢?
还有
select case Style
case myStyles.Window
case myStyles.Linux
....
比 case 1,case 2 要明白多了
还有,比如你有
一个 列表list,列顺序是 ID,Name,Address...
取数是ID = list[0],Name = list[1]...那如果在Name列前插入一列Sex,那Name要改成=list[2],麻烦又容易错
如果用枚举 enum myList{ID,Address...}
取数就是ID = list[myList.ID]...那如果在Name列前插入一列Sex,只要
修改 enum myList{ID,Sex,Address...}不需要
修改 其他
代码
#9楼 得分:5 回复 于:2008-10-20 14:21:04
引用 6 楼 cnapc 的回复 :
枚举对象在任一时刻只能有一个 常量值,数组对象在任一时刻可以有多个值. ^-^
这位说的对,关键点
在这里 啊。
枚举对象是
一个 变量有
一个 值,数组对象是 一组值。
VB.NET code
Public
Enum
Enum1 Firs t
=
1
Second
=
2
Three
=
3
End Enum
Dim
e
As
Enum1,e_Array
As
Enum1(
2
) e
=
Enum1.Second e_Array(
0
)
=
Enum1.Firs t e_Array(
1
)
=
Enum1.Second e_Array(
2
)
=
Enum1.Three
楼主看出区别了吗?
#10楼 得分:2 回复 于:2008-10-20 16:16:54
引用 7 楼 conggang 的回复 :
呵、我可不是什么火星人啊!我现在就是想不明白他们在应用的时候的区别,比如我现在定义了一个 枚举,里面有3个值
然后呢我new这个枚举,在把他的值付给变量,这样做的话我也可以用一个 数组来实现啊,我现在不明白的是枚举比数组
有那些好处呢。
枚举是
标签 ,数组是容器,不可相提并论...你见过
一个 标签 可以变两个吗,你会拿
标签 和钱包比哪个好有什么区别吗...看事物要看本质...
#11楼 得分:2 回复 于:2008-10-20 16:35:09
枚举和数组完全不相干的两个概念。你问有什么区别,我甚至找不出有什么相同之处。枚举是
一个 定义,
一个 标签 ,是定死的。数组是
一个 集合,是用来存放数据的。
#12楼 得分:0 回复 于:2008-11-04 11:19:15
呵,听了大家的话,明白了,自己想的有些极端了,谢谢各位的解说!!谢谢~
#13楼 得分:0 回复 于:2010-07-28 19:23:50
#14楼 得分:0 回复 于:2011-04-25 09:35:51
TOP
原文地址:https://www.jb51.cc/vb/260870.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。