Поток в памяти MemoryStream в C#
Класс MemoryStream хранит байты в массиве процесса - быстрый вариант для сериализации и промежуточных буферов.
Метод ToArray копирует содержимое в новый массив; Length отражает текущий размер без обращения к файловой системе.
Сохраним короткий текст в UTF-8. ToArray возвращает копию буфера. Строка "hi" состоит из латинских букв, и каждая занимает один байт:
using System.IO;
using System.Text;
using MemoryStream stream = new();
byte[] data = Encoding.UTF8.GetBytes("hi");
stream.Write(data);
Console.WriteLine(stream.ToArray().Length); // выведет 2
Запишите строку ping в MemoryStream в UTF-8 и выведите число байт в ToArray().