public override void Write(byte[] buffer, int offset, int count)
{
var bytesToWriteTotal = count;
while (bytesToWriteTotal > 0)
{
// If we do not have enough space in the cloud, we'll reserve more
var capacity = GetCurrentCapacity();
var delta = Position + bytesToWriteTotal - capacity;
if (delta > 0)
{
Resize(2 * (capacity + delta));
}
...
が、私は十分なスペースを持っているか、私はこのようなoffset
を追加する必要があることを確実にするために、それが正しい方法です: var delta = Position + offset + bytesToWriteTotal - capacity;
Stream.Writeを使用して、より多くの領域を正しく予約する方法は?
http://referencesource.microsoft.com/#mscorlib/system/io/memorystream.cs,a27df287b28d9a2a –