如何在 System.IO.Stream 中转换 System.Byte[]?
Posted
技术标签:
【中文标题】如何在 System.IO.Stream 中转换 System.Byte[]?【英文标题】:how to convert System.Byte[] in System.IO.Stream? 【发布时间】:2013-05-20 03:22:04 【问题描述】:我无法将字节转换为流。有没有简单的方法可以做到这一点?
Stream stream;
stream = (Stream) vByte; //something is going wrong in this part.
//vByte is a byte variable
【问题讨论】:
***.com/questions/4736155/… 嗯,这是 Java 还是 C# 问题? (见标签) @Puce 如果这是一个 Java 问题,我需要删除我的答案并将其替换为ByteArrayInputStream
。
我没有被指定,但是看到 Java 没有 System.Byte[]
类型,它更有可能是 C#。因此,我恢复了将其标记为 Java 的编辑。
啊,原来是标记为C#...
【参考方案1】:
您需要使用byte[]
实例化一个MemoryStream
对象:
MemoryStream stream = new MemoryStream(vByte);
【讨论】:
【参考方案2】:您不能使用强制转换表达式将某些内容转换为不同的类型。
相反,您可以在数组周围创建一个MemoryStream
。
一般来说,转换运算符会将对象的编译时类型更改为不同的类型,前提是它在运行时实际上是该类型的实例。 详细解释见this blog post。
【讨论】:
以上是关于如何在 System.IO.Stream 中转换 System.Byte[]?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 System.IO.Stream 转换为字符串,然后再转换回 System.IO.Stream
如何将 IStream(C++) 转换为 System::IO::Stream(c#),反之亦然
c# 将 system.IO.Stream 转换为 Byte[] [重复]
将 System.IO.Stream 转换为 Byte[] [重复]
无法将“Microsoft.Asp.NetCore.Http.FormFile”类型的对象转换为在 Asp.NetCore MVC Web 应用程序中键入“System.IO.Stream”