-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 を使用して 1 行ずつ読み取ることができますが、ID グループごとに最初と最後の行のみを取得する方法を理解する必要があります。したがって、上記の例では必要です...

0,180000.100,190000.200
3,400000.100,400000.200
4

2 に答える 2

1

行全体の長さ、またはコンマの数を使用します。

前方読み取りであるため、行をメモリに保存する必要があります。

つまり、1 行目を読み取ります。<=1 コンマ? 新しいアイテム、クリアセーブ。次の行で、「firstItem」変数に保存します。後続の各行は、「lastItem」変数に保存され、既存の値が上書きされます。

<=1 コンマで別の行にヒットしたら、保存された 2 つの変数を取得し、永続的な保存場所またはオブジェクトに書き出します。

于 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 に答える