Vb.net 读取文本文件中的某一行并显示下一行

Vb.net 读取文本文件中的某一行并显示下一行,vb.net,Vb.net,我是VB.net新手,需要帮助。我试图做的是在文本文件中找到某一行,并在文本框中显示下一行。对于第一部分(寻找线),我做得很好,但我正在努力与第二部分,这是显示线后,我已经找到了 以下是我正在使用的测试文件的内容: 哈哈 这就是我到目前为止所做的: Using sReader As New StreamReader("filepath") While Not sReader.EndOfStream Dim line As String = sR

我是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
收到的结果:

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 
使用LINQ,可以使完整的代码更具可读性:

Dim nextLineAfterMatch = File.ReadLines("filepath").
    SkipWhile(Function(line) Not line.Contains("123")).
    Skip(1).
    FirstOrDefault()

If nextLineAfterMatch IsNot Nothing Then TextBox1.Text = nextLineAfterMatch 

如果要显示下一行,那么解决方案可能是:
如果sReader.EndOfStream=False,那么Textbox1.Text=sReader.ReadLine()
谢谢您的回答。你的意思是,我不应该使用while循环,而应该只使用if语句?不,使用if语句而不是
Textbox1.Text=line
!如果要显示下一行,那么解决方案可能是:
如果sReader.EndOfStream=False,那么Textbox1.Text=sReader.ReadLine()
谢谢您的回答。你的意思是,我不应该使用while循环,而应该只使用if语句?不,使用if语句而不是
Textbox1.Text=line
!谢谢你的回答,蒂姆!!!正是我要找的!小心点,朋友:)谢谢你的回答,蒂姆!!!正是我要找的!保重,伙计:)