Vb.net For语句中的System.Indexoutofrangeexception
我正在编写一个解析器,发生了这个异常。这是密码Vb.net For语句中的System.Indexoutofrangeexception,vb.net,visual-studio,exception,Vb.net,Visual Studio,Exception,我正在编写一个解析器,发生了这个异常。这是密码 Private Sub BackgroundWorker1_DoWork(sender As Object, e As ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork For i As Integer = 0 To TextBox1.Lines.Length - 1 If TextBox2.Lines(i).StartsWith("print
Private Sub BackgroundWorker1_DoWork(sender As Object, e As ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
For i As Integer = 0 To TextBox1.Lines.Length - 1
If TextBox2.Lines(i).StartsWith("print") = True Then
Dim str1 As String = TextBox2.Lines(i).ToString.Replace("print", "echo")
TextBox2.Text = TextBox2.Text + Environment.NewLine + str1
ElseIf TextBox2.Lines(i) = "selfping" Then
TextBox2.Text = TextBox2.Text + Environment.NewLine + "ping 127.0.0.1"
ElseIf TextBox2.Lines(i) = "pause empty" Then
TextBox2.Text = TextBox2.Text + Environment.NewLine + "pause >nul"
ElseIf TextBox2.Lines(i) = "clear" Then
TextBox2.Text = TextBox2.Text + Environment.NewLine + "cls"
Else
TextBox2.Text = TextBox2.Text + Environment.NewLine + TextBox2.Lines(i)
End If
Next
End Sub
这适用于每个If和ElseIf语句。我修复了它。Textbox2应该是textbox1。我真的应该买一个代码分析器。TextBox2.Linesi-这看起来像一个数组,不幸的是,我没有经验,无法判断数组是什么。TextBox1是一个多行文本框吗?您正在检查TextBox1中的行数,然后遍历TextBox2的行集合,您如何知道TextBox2中的行数实际上与TextBox1中的行数相同?这是因为TextBox1中的每一行代表TextBox2中的每一行。我是这样编码的。