C# - 流问题

时间:2011-02-07 19:10:31

标签: c# c++ stream

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

例如:

void someRoutine(std::istream& stream) { ... }

如何在C#中完成同样的工作?

我怀疑我可以根据System.IO.TextReaderSystem.IO.TextWriter编写我的例程,但我不确定。


显然我正在寻找C#中的同一个基类,它与std::istreamstd::ostream一样通用,并且可以通过多种方式进行扩展(例如,boost::iostreams扩展了std::个流。

4 个答案:

答案 0 :(得分:5)

如果您想使用字符串,则应选择TextReaderTextWriter

如果您想使用字节,则应该使用Stream

这些类由具体实现继承,例如FileStreamStringWriterNetworkStream

答案 1 :(得分:3)

如果您只关心字节,请使用System.IO.StreamTextReader / TextWriter适用于您知道基础数据为文本的情况。

答案 2 :(得分:1)

基类 Stream。 MemoryStream,FileStream等都继承自这个类。

答案 3 :(得分:0)

你可以让C#函数像C ++一样使用Stream(System.IO.Stream)。如果这是合适的,取决于你写的功能。