首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >File.ReadLines().ToArray()和File.ReadAllLines()差异?

File.ReadLines().ToArray()和File.ReadAllLines()差异?
EN

Stack Overflow用户
提问于 2022-07-26 05:22:45
回答 1查看 70关注 0票数 -4

嗨,我在寻找File.ReadLines()和File.ReadAllLines()之间的差异,发现了下面的问题。

What is the difference between File.ReadLines() and File.ReadAllLines()?

如果我们在ToArray()的末尾使用ReadLines (),那么内存的使用和性能结果不都是一样的吗?

EN

回答 1

Stack Overflow用户

发布于 2022-07-26 05:45:41

如果要调用ReadLines,那么调用ToArray是毫无意义的。它的性能甚至可能比ReadAllLines差。ReadLines的要点是,它一次读取一行,并公开该行以供处理,因此您永远不必同时将整个文件内容保存在内存中,并且您可以在不读取整个文件的情况下停止处理。想象一下,在一个百万行的文件中搜索第一行中的一些文本。ReadLines将使您能够读取第一行,然后停止,而ReadAllLines将使您等到所有行都被读入内存,然后只使用第一行。

对于小文件来说,这并没有多大区别,但是如果您是按顺序使用数据,并且只使用一次,那么使用ReadLines就更正确了。对于大文件,它可能会产生很大的不同,所以您肯定应该使用ReadLines,除非您同时特别需要所有的数据,例如随机访问和/或多次访问。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73118070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档