我试图抓住文本文件中前两行之后的每一行,并将它们放入一个字符串中。
我到目前为止所拥有的是
Count = File.ReadLines(filepath).Count();
String Lines = File.ReadLines(filepath.Skip(2).Take(Count -2).First());
这抓住了我想要的第一行但是在那之后没有收集任何行。 我假设这是因为一个字符串只能容纳一行?我不确定这是不是我做错了,但如果是,我找不到解决问题的办法。
答案 0 :(得分:2)
File.ReadLines
会返回IEnumerable<string>
,而非string
。调用.Take()
是不必要的,因为你想要前两行之后的所有内容,对First()
的调用将获取序列中的第一个结果并丢弃其余的(这不是你想要的)。
所以将lines
声明为IEnumerable<string>
并删除Take()
和First()
(同时注意您的父母的顺序,因为您发布的代码应该有{{} 1}} )
之后}:
filepath
或者,您可以将IEnumerable<string> lines = File.ReadLines(filepath).Skip(2);
定义为字符串数组或lines
,并在LINQ语句末尾调用List<T>
或ToArray()
,如下所示:< / p>
ToList()
或
string[] lines = File.ReadLines(filepath).Skip(2).ToArray();
您也可以使用List<string> lines = File.ReadLines(filepath).Skip(2).ToList();
:
var