VB.net 索引和长度必须引用该字符串里的位置,求解答

Try
Dim j As Int16
For i = 0 To 59
For j = 0 To 99
If File.Exists(My.Settings.lidarPath & "\" & mes.szLocation.Substring(1, 1) & mes.DeviceNumber.ToString("00") & TimeStrings & i.ToString("00") & "." & j.ToString("00")) Then
TimeStrings = TimeStrings & i.ToString("00") & "." & j.ToString("00")

                    Else
                        MsgBox("不存在该时刻的文件,请重新选择", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "提示")
                        Exit Sub
                    End If
                Next
            Next
        Catch ex As Exception
            MsgBox("查找文件异常:" & vbCrLf & "发生异常:" & vbCrLf & ex.ToString & _
                   vbCrLf & "异常来源于:" & ex.Source & _
                   vbCrLf & "提示信息:" & ex.Message)
        End Try

4个回答

越界访问错误。

public string Substring(
    int startIndex, //子字符串开始位置
    int length //子字符串长度
)
String s = "aaabb";
String result = s.Substring(3,2);  //结果为bb,注意索引从0开始。
String result = s.Substring(6,2);  //错误
String result = s.Substring(3,5);  //错误

参照例子,检查一下mes.szLocation的长度,看看mes.szLocation.Substring(1, 1)是否越界。

如果对您有帮助,请采纳答案好吗,谢谢!

图片说明
哪位大神能告诉我问题出在哪了吗

if 开始是1002行

谢谢 ,你的提示 ,跟据你的提示修给之后又出现了如下错误图片说明
这是什么原因呢
??、

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐