Я пытаюсь использовать GZipStream с MemoryStream. Я пишу все необходимые мне байты, а затем закрываю поток gzip, после чего мне нужно получить сжатый буфер из потока памяти без выделения дополнительной памяти (метод ToArray возвращает необходимый массив байтов, но он создает новый массив байтов, а затем копирует все байты из буфера в новый массив). Насколько я понимаю, я могу использовать GetBuffer(), который возвращает весь буфер, поэтому в этом случае у меня есть еще один вопрос: Верно ли, что все нулевые байты в конце буфера не относятся к сжатым данным? Другими словами, можно ли использовать GetBuffer с предположением, что сжатый буфер заканчивается последним ненулевым байтом?Возможно ли получить длину замкнутого потока памяти?
Также во многих случаях я могу использовать Length of MemoryStream перед закрытием потока GZip и просто добавить 10 к нему после того, как поток GZip закрыт, это верно для всех случаев?
"и просто добавить 10" играет с огнем. –
Согласен, это было просто быть уверенным, спасибо! – Leo