Запишите StringBuilder в поток

Каков лучший метод записи StringBuilder к Системе. IO.Stream?

Я в настоящее время делаю:

StringBuilder message = new StringBuilder("All your base");
message.Append(" are belong to us");

System.IO.MemoryStream stream = new System.IO.MemoryStream();
System.Text.ASCIIEncoding encoding = new ASCIIEncoding();
stream.Write(encoder.GetBytes(message.ToString()), 0, message.Length);
50
задан Andy Joiner 10 February 2010 в 01:34
поделиться

2 ответа

Не используйте StringBuilder, если вы пишите в поток, сделайте это с помощью StreamWriter:

using (var memoryStream = new MemoryStream())
using (var writer = new StreamWriter(memoryStream ))
{
    // Various for loops etc as necessary that will ultimately do this:
    writer.Write(...);
}
78
ответ дан 7 November 2019 в 10:47
поделиться

Это лучший метод. Другой мудрый способ - потерять StringBuilder и использовать что-то вроде:

using (MemoryStream ms = new MemoryStream())
{
    using (StreamWriter sw = new StreamWriter(ms, Encoding.Unicode))
    {
        sw.WriteLine("dirty world.");
    }
    //do somthing with ms
}
14
ответ дан 7 November 2019 в 10:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: