C# - 流问题

Yip*_*Yay 5 c# c++ stream

当我编写一些I/O例程时C++,我通常会通过操作接口来使其尽可能通用<iostream>.

例如:

void someRoutine(std::istream& stream) { ... }
Run Code Online (Sandbox Code Playgroud)

应如何做同样的事情C#

我怀疑我可以根据System.IO.TextReader或写出我的惯例System.IO.TextWriter,但我不确定.


显然,我正在寻找一个相同的基类C#,它是通用的std::istream或者std::ostream可以通过多种方式扩展(例如,boost::iostreams扩展std::流).

SLa*_*aks 5

如果你想使用字符串,你应该使用TextReaderTextWriter.

如果你想使用字节,你应该采取一个Stream.

这些类是由具体实现诸如遗传FileStream,StringWriterNetworkStream.

  • 这不完全正确.TextReader和TextWriter对流进行操作,但它们不在Stream或FileStream的继承链中.它们分别是StringReader和StringWriter的基础.对于OP要做的事情,System.IO.Stream是适当的类(相当于组合的输入和输出流). (2认同)