Используйте MemoryStream вместо ...
MemoryStream ms = new MemoryStream(System.Text.Encoding.ASCII.GetBytes(abc));
Помните, что MemoryStream (так же, как FileStream) должен быть закрыт, когда вы закончите с ним.Вы всегда можете поместить свой код в блок using, чтобы упростить это ...
using(MemoryStream ms = new MemoryStream(System.Text.Encoding.ASCII.GetBytes(abc)))
{
//use the stream here and don't worry about needing to close it
}
ПРИМЕЧАНИЕ. Если ваша строка - Unicode, а не ASCII, вы можете указать это при преобразовании в байтовый массив.По сути, символ Unicode занимает 2 байта вместо 1. Заполнение будет добавлено при необходимости (например, 0x00 0x61
= "a" в Unicode, где, как в ASCII 0x61
= "a")