我试图每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”
任何人都知道为什么?我似乎无法在这个网站上找到它。
谢谢!
答案 0 :(得分:1)
我相信您的问题在于您为行生成随机数的位置 - &gt; line = rnd.next(lines.count()+ 1)
如果rnd.next生成实际的line.count()值,这可能因为您将1加到计数中,那么当您将该值作为行的索引传递时,它将大于最高可能的索引列表。