我有一个像这样的文件......
2000,0, <-----ID
0,180000.100,190000.200
1,200000.100,210000.200
2,300000.100,210000.200
3,400000.100,400000.200
2001,0,
0,199999.001,100000.100
1,200000.000,200000.100
...
我可以使用streamreader逐个阅读这些行,但我需要弄清楚如何只为每个ID组获取第一行和最后一行。所以对于上面的例子,我需要......
0,180000.100,190000.200
3,400000.100,400000.200
答案 0 :(得分:1)
使用行的总长度或逗号数。
你必须将行保存在内存中,因为它是正向读取。
即读取第1行。&lt; = 1逗号?新项目,清除保存。 下一行,保存为“firstItem”变量。 每个后续行,保存为“lastItem”变量,覆盖现有值。
一旦用&lt; = 1逗号点击另一行,请保存两个变量并将其写入永久保存位置或对象。
答案 1 :(得分:0)
您可以尝试逐行检查输入并将其放入List<string>
如:
string str = ReadNextLine();
if(IsANewIDGroupHeader(str)){
CreateNewIDGroup();
NewIDGroup.Add(str);
}else{
OldIDGroup.Add(str);
}