嗨,我在寻找File.ReadLines()和File.ReadAllLines()之间的差异,发现了下面的问题。
What is the difference between File.ReadLines() and File.ReadAllLines()?
如果我们在ToArray()的末尾使用ReadLines (),那么内存的使用和性能结果不都是一样的吗?
发布于 2022-07-26 05:45:41
如果要调用ReadLines,那么调用ToArray是毫无意义的。它的性能甚至可能比ReadAllLines差。ReadLines的要点是,它一次读取一行,并公开该行以供处理,因此您永远不必同时将整个文件内容保存在内存中,并且您可以在不读取整个文件的情况下停止处理。想象一下,在一个百万行的文件中搜索第一行中的一些文本。ReadLines将使您能够读取第一行,然后停止,而ReadAllLines将使您等到所有行都被读入内存,然后只使用第一行。
对于小文件来说,这并没有多大区别,但是如果您是按顺序使用数据,并且只使用一次,那么使用ReadLines就更正确了。对于大文件,它可能会产生很大的不同,所以您肯定应该使用ReadLines,除非您同时特别需要所有的数据,例如随机访问和/或多次访问。
https://stackoverflow.com/questions/73118070
复制相似问题