我想要做的是记住我在输入流中的位置,然后再回到那里。 在java中使用mark()和reset()很简单,但我不知道如何在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,很好的解决方案,但我相信你的意思是,重新建立了新初始化在另一个范围内,即类级别? ;) – Abel 2011-03-07 11:39:45
不一定,取决于你想在哪里使用它,这里的堆栈立即和文件I/O调用的范围相同。 Stack <>也只是一个解决方案,你可以使用一个字典,实际上给NAMED标记,而不是所有肉汁:) –
Lloyd
2011-03-07 11:41:38
+1,就像那个解决方案!也可以:对FileStream进行子类化并将该堆栈添加到该类中 – Sascha 2011-03-07 11:42:24