File.ReadLines()和File.ReadAllLines()有什么区别?

我有关于File.ReadLines()和File.ReadAllLines()的查询。它们之间有什么区别。我有一个文本文件,其中包含按行排列的数据。File.ReadAllLines()返回数组和使用File.ReadLines().ToArray();也可以得到相同的结果。那么这些方法是否有性能差异?


string[] lines = File.ReadLines("C:\\mytxt.txt").ToArray();

要么


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


HUWWW
浏览 1825回答 3
3回答

翻过高山走不出你

ReadAllLines打开一个文本文件,读取文件的所有行,然后关闭文件。如果您有小的文件,或者必须立即处理整个文件,请使用它,因为它会完全读取文件,这意味着整个文件都在您的内存中。如果文件很大,则可能会降低性能。阅读行使用File.ReadLines方法,您可以在返回整个集合之前开始枚举字符串集合。如果您需要分块处理文件(而不是一次处理整个文件),这将很有用。MSDN中声明的备注:ReadLines和ReadAllLines方法的区别如下:当您使用ReadLines时,可以在返回整个集合之前开始枚举字符串的集合。使用ReadAllLines时,必须等待返回整个字符串数组,然后才能访问该数组。因此,当您处理非常大的文件时,ReadLines可能会更有效率。
打开App,查看更多内容
随时随地看视频慕课网APP