Текстовое чтение StreamReader в C#
Класс StreamReader декодирует байты в символы и читает их как текст. В примере кодировка по умолчанию - UTF-8, та же, в которой записаны байты.
Когда читателя закрывают, по умолчанию закрывается и поток под ним. В примере после чтения к потоку больше не обращаются.
Прочитаем заранее записанную строку. StreamReader декодирует байты в текст. У строки "alpha" байтов и символов поровну, потому что буквы латинские:
using System.IO;
using System.Text;
byte[] raw = Encoding.UTF8.GetBytes("alpha");
using MemoryStream bytes = new(raw);
using StreamReader reader = new(bytes);
Console.WriteLine(reader.ReadLine()); // выведет alpha
Запишите текст "delta" в поток в памяти в кодировке UTF-8 и выведите прочитанную строку целиком.