-1

我有一个这样的文件...

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
4

2 回答 2

1

使用行的总长度或逗号的#。

您必须将这些行保存在内存中,因为它是向前阅读的。

也就是说,读取第 1 行。<=1 逗号?新项目,清除保存。下一行,保存到“firstItem”变量。随后的每一行,保存到“lastItem”变量,覆盖现有值。

一旦你用 <=1 逗号打到另一行,把保存的两个变量写到你的永久保存位置或对象中。

于 2012-09-10T16:12:47.407 回答
0

您可以尝试逐行检查您的输入并将它们放入List<string>

如:

string str = ReadNextLine();
if(IsANewIDGroupHeader(str)){
  CreateNewIDGroup();
  NewIDGroup.Add(str);
}else{
  OldIDGroup.Add(str);
}
于 2012-09-10T16:13:48.960 回答