Позиция и длина потока в C#
Свойство Position - текущее смещение от начала, Length - сколько байт поток уже содержит. Оба доступны, когда позицию в потоке можно передвигать.
Сразу после записи курсор стоит за последним байтом, поэтому Position совпадает с Length.
Запишем два байта и проверим длину и позицию:
using System.IO;
using MemoryStream stream = new();
stream.WriteByte(1);
stream.WriteByte(2);
Console.WriteLine(stream.Length); // выведет 2
Console.WriteLine(stream.Position); // выведет 2
Запишите в поток в памяти байты 4, 8 и 6 и выведите, сколько байт он занимает.