【发布时间】:2019-09-07 14:58:55
【问题描述】:
我的旧方法(通常是错误的除外)需要很长时间才能从文件中获取多行,然后将参数存储到字典中。 本质上它是打开的文件,一次抓取每隔一行,修改该行然后存储数据(行 pos 和行的第一个元素(减号)“>”)关闭文件,然后重复。
for (int i = 0; i < linecount - 1; i += 2)
{
string currentline = File.ReadLines
(datafile).Skip(i).Take(1).First();
string[] splitline = currentline.Split(' ');
string filenumber = splitline[0].Trim('>');
} for (int i = 0; i < linecount - 1; i += 2)
【问题讨论】:
-
An item with the same key has already been added.datanumber发生时的确切值是多少?您是否考虑过使用[]而不是Add? -
File.ReadLines(dataFile).Count()读取整个文件只是为了获得行数。您真的需要在阅读之前知道多少行吗?您的新实现似乎没有。删除该行应该为初学者节省一些时间。 -
@madreflection 同意,这是旧代码,谢谢指出。
-
while的最后一行应该是line = sr.ReadLine();。否则你只看第一行。 -
@mjwills 解决了它,谢谢。如果您将其作为答案提交,我会将其标记为已解决。
标签: c# readfile streamreader