我是VB.net的新手,我需要帮助。我想要做的是在文本文件中找到某一行并在文本框中显示下一行。第一部分(找到线)我做得很好,但是我正在努力处理第二部分,它显示的是我找到的那条线之后的线!
以下是我正在使用的测试文件的内容:
洛尔
这就是我到目前为止所做的:
Using sReader As New StreamReader("filepath")
While Not sReader.EndOfStream
Dim line As String = sReader.ReadLine()
If line.Contains("123") Then
TextBox1.Text = line
End If
End While
End Using
收到结果:
答案 0 :(得分:2)
While Not sReader.EndOfStream
Dim line As String = sReader.ReadLine()
If line.Contains("123") AndAlso Not sReader.EndOfStream Then
Dim nextLine As String = sReader.ReadLine()
TextBox1.Text = nextLine
Exit While
End If
End While
使用LINQ,可以使完整的代码更具可读性:
Dim nextLineAfterMatch = File.ReadLines("filepath").
SkipWhile(Function(line) Not line.Contains("123")).
Skip(1).
FirstOrDefault()
If nextLineAfterMatch IsNot Nothing Then TextBox1.Text = nextLineAfterMatch