0

私はファイルから行ごとに読んでいて、読んだ行のいくつかを編集したい..編集したい行には、その上または下に他の特定の行が必要ですが、C#でそれを表現する方法がわかりません. 例えば:

http://www.youtube.com
You Tube | Music | something
Sports
Music
Radio
Clips
http://www.youtube.com/EDIT ME   
Sports
Music
Radio
Clips

次の行が次の場合にのみ行を編集したい

Sports 

前の行は

Clips

したがって、上記の例から編集したい唯一の行は

http://www.youtube.com/EDIT ME 

何か案は?

4

3 に答える 3

2

アプローチ#1
ファイルをループしている間、前の行の変数を保持します(ループする前に、常にこれを現在の行に更新してください)。これで、現在の行と前の行がわかったので、現在の行を編集する必要があるかどうかを判断できます。

アプローチ#2
ファイルをループしているときに、ある条件に対応するフラグを設定します。たとえば、私が見つけたばかりSportsです。後でフラグを設定解除する必要がある条件を見つけた場合、たとえば、私が見つけたばかりの場合は、設定を解除しRadioます。見つかっClipsた場合は、この行SportsFlagを編集する必要があるかどうかを確認するためのセットを確認できます。Clips

2番目のアプローチは、より柔軟性があり(現在の行に応じて複数のフラグを設定および設定解除できます)、との間に複数のクラッド行が存在する可能性がある場合に適していSportsますClips。それは事実上貧乏人のステートマシンです

于 2011-11-08T14:57:44.337 に答える