views:

305

answers:

2

How to take a stringbuilder and convert it to a stream?

SO my stringbuilder has to be converted into a :

StreamReader stream = ????

Update

I tried using a stringreader like:

StringReader sr = new StringReader(sb.ToString());
StreamReader stream = new StreamReader(sr);

but that doesn't work?

+4  A: 

Use ToString to convert the StringBuilder into a String, and use a StringReader to wrap the String as a Stream.

Andy Jacobs
but a StreamReader doesn't take a StringReader?
Blankman
If you have any control over it, have the function accept a TextReader (instead of StreamReader), which is the base class for both. Otherwise, you may have to use the code Qua posted.
Andy Jacobs
A: 

If using a StreamReader is a requirement then convert the string to a memory stream and then create a new StreamReader using that object:

StreamReader reader= new StreamReader(
                new MemoryStream(Encoding.ASCII.GetBytes(sb.ToString())));
Qua