我随机收到此错误消息:
索引超出了数组的范围。
它指向这一行:
Dim placename As String = RichTextBox1.Lines(0)
答案 0 :(得分:12)
这意味着您的RichTextBox1
中没有任何行。将其替换为:
Dim placename As String
If RichTextBox1.Lines.Count() > 0 Then
placename=RichTextBox1.Lines(0)
Else
placename = String.Empty
End if
更多信息:
想象一个数组作为街道,数组中的每个元素都是一个房子。如果街上有30栋房子,我想找到20号门牌,我从头开始(1)然后一直走到20岁。有一个数组,0是你开始的地方而不是1,所以一个数组包含30个元素,包含索引0-29。现在回到街头比喻。想象一下,我走到街上,要求31号门。那个房子不存在,因为只有30个房子。这实际上是该计划告诉你的。它说'阵列中没有足够的元素让我找到你要求的那个'。所以你要求行数组中的元素0,有效地说'给我第一行'。现在,如果文本框中有0行,则第一行不存在,您将收到此错误。
答案 1 :(得分:1)
索引超出了数组的范围
该错误消息通常意味着您已在一个空的位置调用了数组中的对象,或者在那里没有任何内容。它发生在以下情况中;
myArray = [0,1,2,3];
trace(myArray[6]);
由于索引6处的数组中没有任何内容,因此它超出了界限。如果在调用时数组为空,则它将为索引0处的对象提供错误。
我发布的代码数量无法告诉您更多信息。尝试检查以确保在调用该行之前已填充数组。
答案 2 :(得分:0)
也许您的SQL Reader没有获得与您提供的索引相关联的任何行。那是我的情况;我收到了不在数据库中的列。
您可以按如下方式更改代码:
Dim placename As String
If RichTextBox1.Lines.Count > 0 Then placename = RichTextBox1.Lines(0)