|
主题: 关于UBOUND()的问题~!
|
rvvlove
职务:普通成员
等级:1
金币:0.0
发贴:30
|
#12004/11/26 16:46:11
<% i = array("1","2","3" response.write ubound(i) %> 为何结果: 2
|
rvvlove
职务:普通成员
等级:1
金币:0.0
发贴:30
|
#22004/11/26 16:48:18
<%dim a(11,12) %> <%= UBound(a) %> 这样结果是,11
|
rvvlove
职务:普通成员
等级:1
金币:0.0
发贴:30
|
#32004/11/26 16:56:43
<%dim a(1,2,3) %> <%= UBound(a) %> 这样结果是,1
|
rvvlove
职务:普通成员
等级:1
金币:0.0
发贴:30
|
#42004/11/26 16:58:02
array()是定义数组,那dim a(..)是什么
|
蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
|
#52004/11/26 17:16:19
UBound输入的是数组的维数,数组的维数在设计时是从0开始的,这是VB上的, 但C或C#就不同,如 string[] str = new string[3]; 这个3表示数组的长度,即有3个成员,而定数组 str[0] = str1; str[1] = str2; str[2] = str3; str.Length得到的是3,而不是维数2;
总之觉得这数组的设计很糟,有时是0,有时却是1,自己去记忆吧。
非常大鱼
|
蓝鲸
职务:版主
等级:5
金币:42.1
发贴:2614
|
#62004/11/26 17:17:08
dim a( , ,)表示定义三维的不定长度数组。
非常大鱼
|
janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
|
#72004/11/26 17:22:13
UBound总是返回数组的最大下标,下标从0开始,3个元素自然就返回2
后一个问题,你可以看看 VBSCript 语法。定义的多少,就返回多少(你返回的是第一维的最大下标)
|
沉默是金
职务:普通成员
等级:6
金币:11.2
发贴:4357
|
#82004/11/27 12:20:31
VBS使用数组,一般结合split,除非你已经声明了一个动态数组:dim arraystr(x) 如果不知道数组的维数,如:arraystr(a,b,c,d,e,f,g.......), 可用split拆分,如:dim aa:aa=split(arraystr,“,”),这个时候用ubound(aa)即可得到该数组最大的维数。
难人一个……
|