private void ConvertToStream() { if (_array == null) { return; } var stream = new LargeMemoryStream(); var buffer = new byte[_bufferSize]; var streamLength = _sizeOfT * _array.Length; var bytesPosition = 0; int bytesInBuffer; while ((bytesInBuffer = Math.Min(_bufferSize, streamLength - bytesPosition)) > 0) { Buffer.BlockCopy(_array, bytesPosition, buffer, 0, bytesInBuffer); stream.Write(buffer, 0, bytesInBuffer); bytesPosition += bytesInBuffer; } _stream = stream; _array = null; }