gpt4 book ai didi

c# - MemoryStream 读/写和数据长度

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:01 24 4
gpt4 key购买 nike

我有一个 MemoryStream/BinaryWriter ,我按如下方式使用它:

memStram = new MemoryStream();
memStramWriter = new BinaryWriter(memStram);

memStramWriter(byteArrayData);

现在要阅读,我会执行以下操作:

byte[] data = new byte[this.BulkSize];
int readed = this.memStram.Read(data, 0, Math.Min(this.BulkSize,(int)memStram.Length));

我的第二个问题是:

  1. 读完后,位置移动到currentPosition+readed,是否memStram.Length 会改变吗?
  2. 我想初始化流(就像我刚刚创建它一样),我可以执行以下操作而不是再次使用 Dispose 和 new,如果没有,有没有比 dispose&new 更快的方法:;
memStram.Position = 0;
memStram.SetLength(0);

谢谢。约瑟夫

最佳答案

  1. 没有;为什么长度(即数据大小)在读取时会发生变化?
  2. 是的; SetLength(0) 更快:在这种情况下,内存分配和重新分配没有开销

关于c# - MemoryStream 读/写和数据长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18098128/

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