【发布时间】:2014-08-01 18:02:34
【问题描述】:
我正在使用File.ReadAllLines() 读取文本文件,但我也可以使用 File.ReadLines()。读取文件后,下一步是根据结果创建一个列表。在我的列表中,我需要获取文本文件中每个条目/行的行号。这可以做到吗?如何?对于我的最终结果,我需要我的列表有一个 Index 属性。
这是我得到的:
var file = System.IO.File.ReadAllLines(path);
var lineInfo = file.AsParallel().AsOrdered()
.Select(line => new
{
// index = **** I WANT THE INDEX/ROWNUMBER HERE ****
lineType = line.Substring(0, 2),
winID = line.Substring(11, 9),
effectiveDate = line.Substring(0, 2) == EmployeeLine ? line.Substring(237, 8).ToDateTimeExact("yyyyMMdd") : null,
line
})
.ToList()
.AsParallel();
【问题讨论】:
-
鉴于您只是要迭代结果,您应该改用
File.ReadLines以便您可以流式传输输入,而不是不必要地强制将其全部加载到内存中。避免将操作结果具体化到列表中也可能是值得的,除非您确实需要这样做。 -
@Servy...我同意,谢谢
标签: c# file.readalllines