MemoryStream memoryStream = new MemoryStream();
memoryStream.Position = 0;
...
for(int i=0;i<5;i++)
{
memoryStream.Write(bytes, (int)memoryStream.Position, bytes.Length);
}当bytes.Length=5120的时候,在第二次向memoryStream中写入时,会发生错误
偏移量和长度超出数组的界限,或者计数大于从索引到源集合结尾处的元素数量。
请问这是为什么,谢谢
memoryStream.Position = 0;
...
for(int i=0;i<5;i++)
{
memoryStream.Write(bytes, (int)memoryStream.Position, bytes.Length);
}当bytes.Length=5120的时候,在第二次向memoryStream中写入时,会发生错误
偏移量和长度超出数组的界限,或者计数大于从索引到源集合结尾处的元素数量。
请问这是为什么,谢谢
是把bytes 中从偏移量memoryStream.Position开始到偏移量memoryStream.Position+ bytes.Length结束的byte写到memoryStream
当memoryStream.Position>0时,memoryStream.Position+ bytes.Length肯定超出了bytes数组的界限