gpt4 book ai didi

c# - 在 .NET 中将 Int 数组写入 Stream

转载 作者:太空狗 更新时间:2023-10-29 22:11:23 24 4
gpt4 key购买 nike

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

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

在更面向系统的语言(又名 C++)中,我会简单地将 int 数组转换为 byte* 但据我所知,这在 C# 中是不可能的(此外,转换byte*byte[] 两种方式都行不通)

谢谢

马丁

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

最佳答案

最简单的选择是使用 BinaryWriter包装你的输出流,然后调用 Write(int)对于每个 int 值。如果这不适合您,您可以使用我的 MiscUtil 中的 EndianBinaryWriter图书馆。

我不知道有什么内置的东西可以更有效地做到这一点......我希望流中的缓冲能够在很大程度上处理它。

关于c# - 在 .NET 中将 Int 数组写入 Stream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3651992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com