gpt4 book ai didi

c# - 将文件的前 10 行提取为字符串

转载 作者:可可西里 更新时间:2023-11-01 08:00:32 26 4
gpt4 key购买 nike

public void get10FirstLines()
{
StreamReader sr = new StreamReader(path);
String lines = "";
lines = sr.readLine();
}

如何在字符串中获取文件的前 10 行?

最佳答案

而不是使用 StreamReader直接使用 File.ReadLines 返回 IEnumerable<string> .然后您可以使用 LINQ:

var first10Lines = File.ReadLines(path).Take(10).ToList();

使用 File.ReadLines 的好处而不是 File.ReadAllLines 是它 读取您感兴趣的行,而不是读取整个文件。另一方面,它仅在 .NET 4+ 中可用。如果您希望在 .NET 3.5 中使用迭代器 block ,则很容易实现它。

调用ToList()是否强制对查询进行评估(即实际读取数据),以便恰好 读取一次。没有 ToList如果您尝试遍历 first10Lines,请调用不止一次,它会不止一次地读取文件(假设它能正常工作;我似乎记得 File.ReadLines 在这方面并没有非常干净地实现)。

如果您希望前 10 行作为一个单个 字符串(例如,用“\r\n”分隔它们),那么您可以使用 string.Join :

var first10Lines = string.Join("\r\n", File.ReadLines(path).Take(10));

显然,您可以通过更改调用中的第一个参数来更改分隔符。

关于c# - 将文件的前 10 行提取为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21966607/

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