1

我有一个 MemoryStream 对象,它从一个函数传递到另一个函数,每个函数都向它添加一些东西(可能是字节可能更多)。
read中有匹配的函数。

我可以避免自己更新偏移量并让“流”处理它吗?
(如stream.Write(byte[]);类似于stream.WriteByte(byte);

我对该地区的所有文档感到有些困惑

4

2 回答 2

1

是的,您可以创建一个始终将偏移量设置为 0 的扩展方法(即从缓冲区中的零索引写入)。

public static class Extensions
{
    public static void Write(this MemoryStream stream, byte[] buffer)
    {
        stream.Write(buffer, 0, buffer.Length);
    }
}
于 2013-04-09T09:46:56.860 回答
0

是的,您可以避免传递偏移量。

当您写入内存流时,它的Position属性会增加写入项目的大小,因此下一个写入的项目将在前一个项目之后。

因此,您可以只传递内存流。

于 2013-04-09T09:49:54.133 回答