gpt4 book ai didi

c# - File.ReadAllLines 或 Stream Reader

转载 作者:太空狗 更新时间:2023-10-29 20:44:37 25 4
gpt4 key购买 nike

我们可以使用 StreamReader 读取文件或使用 File.ReadAllLines .

例如,我想将每一行加载到 Liststring[] 中,以便对每一行进行进一步操作。

string[] lines = File.ReadAllLines(@"C:\\file.txt");

foreach(string line in lines)
{
//DoSomething(line);
}

using (StreamReader reader = new StreamReader("file.txt"))
{
string line;

while ((line = reader.ReadLine()) != null)
{
//DoSomething(line); or //save line into List<string>
}
}

//if list is created loop through list here

应用程序遇到不同大小的文本文件。偶尔会从几 KB 增长到 MB

我的问题是,哪一种是首选方式,为什么应该首选一种方式?

最佳答案

如果要处理文本文件的每一行而不将整个文件加载到内存中,最好的方法是这样的:

foreach (var line in File.ReadLines("Filename"))
{
// ...process line.
}

这避免了加载整个文件,并使用现有的 .Net 函数来执行此操作。

但是,如果由于某种原因您需要将所有字符串存储在一个数组中,您最好只使用 File.ReadAllLines() - 但如果您只使用 foreach 访问数组中的数据,然后使用 File.ReadLines()

关于c# - File.ReadAllLines 或 Stream Reader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23989677/

25 4 0