【问题标题】:how to convert System.Byte[] in System.IO.Stream?如何在 System.IO.Stream 中转换 System.Byte[]?
【发布时间】:2013-05-20 03:22:04
【问题描述】:

我无法将字节转换为流。有没有简单的方法可以做到这一点?

Stream stream;
stream = (Stream) vByte; //something is going wrong in this part. 
//vByte is a byte variable

【问题讨论】:

  • 嗯,这是 Java 还是 C# 问题? (见标签)
  • @Puce 如果这是一个 Java 问题,我需要删除我的答案并将其替换为 ByteArrayInputStream
  • 我没有被指定,但是看到 Java 没有 System.Byte[] 类型,它更有可能是 C#。因此,我恢复了将其标记为 Java 的编辑。
  • 啊,原来是标记为C#...

标签: c# stream


【解决方案1】:

您需要使用byte[] 实例化一个MemoryStream 对象:

    MemoryStream stream = new MemoryStream(vByte);

【讨论】:

    【解决方案2】:

    您不能使用强制转换表达式将某些内容转换为不同的类型。

    相反,您可以在数组周围创建一个MemoryStream

    一般来说,转换运算符会将对象的编译时类型更改为不同的类型,前提是它在运行时实际上是该类型的实例。
    详细解释见this blog post

    【讨论】:

      猜你喜欢
      • 2011-06-11
      • 2011-05-18
      • 1970-01-01
      • 1970-01-01
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      • 2017-12-09
      相关资源
      最近更新 更多