从文本文件中获取某些行的最快方法

0 c# arrays

我有一些具有特定结构的文本文件.在每行的开头我都有一些单词,例如"true"或"false".像这样的东西:

$True 3 5 1 8
$False 12 5 a z
$False 1,5,7 
$True 123
$True 7ao
$False 198
Run Code Online (Sandbox Code Playgroud)

我需要得到一个数组,列表或类似的东西:

$False 12 5 a z
$False 1,5,7 
$False 198
Run Code Online (Sandbox Code Playgroud)

行数是未知的,我试图找到只读取具有特定起始字(False)的行的最快方法.我尝试使用该string.Split方法解析,然后添加到列表if word == word,但问题在于速度,如果我有5-6000行这会变慢.这样的事情有更快的方法吗?

Kon*_*osa 5

这应该足够快:

var filteredLines = 
        File.ReadLines("path")
            .Where(line => line.StartsWith(word))
            .ToList()
Run Code Online (Sandbox Code Playgroud)

becase的ReadLines通过线文件中的行迭代,不加载整成存储器(从MSDN):

ReadLines和ReadAllLines方法的不同之处如下:使用ReadLines时,可以在返回整个集合之前开始枚举字符串集合; 当您使用ReadAllLines时,必须等待返回整个字符串数组才能访问该数组.因此,当您使用非常大的文件时,ReadLines可以更高效.