我找到了数百个逐行阅读的答案,但没有一个可以指定要阅读的行。假设我的文件如下所示:
A
B
C
D
E
我想阅读第 3 行(在这种情况下,我猜实际上是第 2 行 - 假设我想要“C”)。
我怎么做?
我当然可以循环并停在选定的行,但是没有更好(不那么难看)的方法吗?喜欢MyStreamReader.Row(2).Read
还是类似的东西?
我找到了数百个逐行阅读的答案,但没有一个可以指定要阅读的行。假设我的文件如下所示:
A
B
C
D
E
我想阅读第 3 行(在这种情况下,我猜实际上是第 2 行 - 假设我想要“C”)。
我怎么做?
我当然可以循环并停在选定的行,但是没有更好(不那么难看)的方法吗?喜欢MyStreamReader.Row(2).Read
还是类似的东西?
最有效的方法是流式传输行并计算每一行。File.ReadAllLines
您必须等待返回整个字符串数组,然后才能访问该数组。
一种简单的方法是使用File.ReadLines
类似于流阅读器的工作方式:
Dim thirdLine = File.ReadLines(path).ElementAtOrDefault(2)
Enumerable.ElementAtOrDefault
Nothing
如果指定的索引太大,则返回。所以你可以这样检查:
If thirdLine IsNot Nothing Then
Console.WriteLine("Third line: " & thirdLine)
Else
Console.WriteLine("The file doesn't contain 3 lines")
End If