中易网

下标越界怎么解决

答案:3  悬赏:20  
解决时间 2021-02-15 07:10
下标越界怎么解决
最佳答案
不知道你是什么样数据,这里举例:
Dim a(2) As String
Dim j = 0
Dim Request = {"AB", "BC", "CD", "DE"}

For Each i In Request

If Left(i, 1) = "C" Then
a(j) = i
Console.Write(a(j))
j += 1
End If
Next
全部回答
只能在定义的范围内访问数组元素和集合成员。 此错误有以下的原因和解决方法: 引用了不存在的数组元素. 下标比可能下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用 UBound 和 LBound 函数来决定数组访问。如果索引指定为变量,应检查变量名的拼写。 声明数组时没有指定元素的数目。例如,下列的代码就会导致此错误: Dim MyArray() As Integer MyArray(8) = 234 ' 导致错误 。 Visual Basic 并不会将没有指定范围的数组自动设为 0 – 10。 相反必须使用 Dim 或 ReDim 来指定数组中元素的数目。 引用了不存在的集合成员。 试着使用 For Each...Next 结构代替指定元素下标。 使用速写形式的下标,结果指定了错误的元素。 例如,当在集合上使用 ! 运算子时,! 自动指定了一个键。 例如 object!keyname.value 和 object.item(keyname).value 是一32313133353236313431303231363533e59b9ee7ad9431333335316633样的。 在此例中,集合中如果 keyname 表示一个错误键,错误就会产生。 若要改进此错误,在集合对象中使用正确的键名称或索引。 请采纳答案,支持我一下。
应该把print a(i)放在next i前面。 即生成一个随机数,就打印。循环执行。 放在后面的话应为执行了next,所以i = 6了,超出了a数组的下标范围,就越界了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
优印堂图文广告镇江店地址在什么地方,想过去
刚买的导热硅脂有点干,用什么油或水可以稀释
娠的读音是什么
蓝天驾校科目三难么
我偷了东西,女友和我分手。
鸿顺达宾馆这个地址在什么地方,我要处理点事
如何的保存鲍鱼壳?如何去除壳上微生物,使它
请问领导静海朴楼一号公寓是大产权的房子吗
腾讯新闻是怎么发上去的?
梦见古人喝酒吟诗,不知道什么意思
通常所说的管道几个压是啥意思
小弯嘴画眉鸟吃什么比较好
playboy什么意思?
有谁知道硕放的香梅香墅什么时候交房
重庆市宏昌职业技术学校在什么位置
推荐资讯
长的像猫的狗叫什么
你认为历史上最幸运的人是谁
信用卡持卡人坐牢,怎么向法院申请核销,谢啦
农村独生子女证有什么优惠政策
求~宿舍综合布线系统设计方案~一栋6层的楼
天津名媛学化妆贵不贵?有没有学费中包括化妆
冒险岛有个狐狸 这样 怎么来的?
七下 全品作业本 英语 第六单元答案
全球通过AACSB,AMBA或者EQUIS认证的商学院有
我是学建筑专业的,毕业之后去工地实习好?还
cgwang是可以在他们官网上报名的吗?
今天凌晨在东航MU2936成都飞往常州的飞机上看
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?