Exemplo n.º 1
0
        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;
        }