gpt4 book ai didi

c# - 使用 foreach 之前需要存储列表吗?

转载 作者:行者123 更新时间:2023-12-02 19:32:55 24 4
gpt4 key购买 nike

MSDN example显示此:

    // Open the file to read from. 
string[] readText = File.ReadAllLines(path);
foreach (string s in readText)
{
Console.WriteLine(s);
}

但我在想:

    // Open the file to read from. 
foreach (string s in File.ReadAllLines(path))
{
Console.WriteLine(s);
}

最佳答案

假设 readText 从未在其他地方使用过,这两个代码片段之间没有区别。

即使在第二种情况下,方法调用的结果最终也会存储在某个地方,即使该位置没有您可以在代码中引用的名称。 p>

顺便说一句,如果您只想遍历各行,则可以使用 ReadLines 而不是 ReadAllLines 来流式传输文本行,而不是在处理任何行之前急切地将整个文件加载到内存中。这可以防止在访问第一行之前出现较长的延迟,如果您在处理所有行之前最终退出循环,则可以显着提高速度(请记住,除了显式退出循环之外,这还可能由于异常而发生) ),并显着减少程序的内存占用,即使您最终处理了所有行。

关于c# - 使用 foreach 之前需要存储列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21560558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com