Stream和MemoryStream有什么区别

Mah*_*hib 9 c#

C#StreamMemoryStreamC#之间的主要区别是什么?

如果我需要创建一个Stream没有文件,我应该使用一个MemoryStream

Pat*_*man 13

MemoryStream来自一般阶级Stream.

关于StreamMSDN:

提供字节序列的通用视图.这是一个抽象类.

所以你无法创建一个实例Stream.您必须使用派生类,像一个MemoryStream,FileStream等等.


ste*_*nar 12

MemoryStream并且FileStream是.NET框架中继承自抽象基类的类的示例,Stream如此精简继承树所示:

  • System.Object的
    • System.MarshalByRefObject
      • System.IO.Stream
        • System.IO.FileStream
        • System.IO.MemoryStream
        • ......其他几个......

您可以使用FileStream读取/写入文件,但使用MemoryStream读取/写入内存数据,例如从字符串解码的字节数组.

你不会使用Streamin和它本身,而是将它用于多态,即将它传递给可以接受任何实现Stream作为参数的方法.