在.NET中将Int数组写入Stream

Mar*_*ner 5 .net c# binary stream

将int array(Int32[])的二进制表示写入a的最佳方法是Stream什么?

Stream.Write只接受byte[]作为源,我想避免将数组转换/复制到byte[](数组,而是直接从'原始位置'流式传输).

在一个更加面向系统的语言(也就是C++)中,我只是将int数组转换为a,byte*但据我所知,C#是不可能的(此外,转换byte*byte[]无法解决)

谢谢

马丁

PS:实际上,我还想流式传输单个int值.使用BinaryConverter.GetBytes()创建新的字节数组吗?在这种情况下,我将问题扩展到如何有效地传输单个int值...

Jon*_*eet 13

最简单的选择是使用BinaryWriter包装输出流,并调用Write(int)每个int值.如果没有为您使用正确的字节序,您可以使用EndianBinaryWriter我的MiscUtil库.

我不知道有什么内置的更有效地做到这一点......我希望流中的缓冲在大多数情况下会处理它.