私がやっていることは、入力ストリームのどこにいるのかを覚えておき、後でそこに戻ってしまうことです。 これは、mark()とreset()を使ってjavaで非常に簡単ですが、C#でこれを可能にする方法はわかりません。そのような方法はありません。例えばC#StreamReaderのマーキングに関する質問
public int peek()
{
try
{
file.x; //in java file.mark(1)
int tmp = file.read();
file.+ //in java file.reset();
return tmp;
}
catch (IOException ex) {}
return 0;
}
+1、素敵なソリューションが、私はあなたの意味と仮定しStack-初期化は別のスコープ、つまりクラスレベルにありますか? ;) – Abel
必ずしも、どこで使用したいかによって異なります。ここでは、スタックはファイルI/Oが呼び出すのと同じ範囲にあります。 Stack <>はちょうど1つの解決策でもあります。辞書を使用して、代わりにNAMEDマーカーを付けることができます。それはすべての肉汁です:) –
Lloyd
+1、そのような解決策です!また可能:FileStreamをサブクラス化し、そのクラスにそのスタックを追加してください – Sascha