VB.NET AppendText(超出范围)

时间:2016-08-18 04:01:23

标签: vb.net visual-studio

我试图每5秒运行一次代码:

    Form2.RichTextBox1.Clear()
    Dim ioFile As New StreamReader("C:\Users\*********\linetest.txt")
    Dim lines As New List(Of String)
    Dim rnd As New Random()
    Dim line As Integer

    While ioFile.Peek <> -1
        lines.Add(ioFile.ReadLine())
    End While

    line = rnd.Next(lines.Count + 1)

    Form2.RichTextBox1.Text = (lines(line).Trim())
    ioFile.Close()
    ioFile.Dispose()

运行良好,每5秒更改一次文本。在将其更改大约8次后,它将崩溃,说“ArgumentIndexOutOfRange”

任何人都知道为什么?我似乎无法在这个网站上找到它。

谢谢!

1 个答案:

答案 0 :(得分:1)

我相信您的问题在于您为行生成随机数的位置 - &gt; line = rnd.next(lines.count()+ 1)

如果rnd.next生成实际的line.count()值,这可能因为您将1加到计数中,那么当您将该值作为行的索引传递时,它将大于最高可能的索引列表。