2010-02-21 5 views
6

¿Cómo tomar un generador de cuerdas y convertirlo en una secuencia?¿Cómo tomar un generador de cuerdas y convertirlo a un lector de flujo?

así que mi StringBuilder tiene que ser convertida en una:

StreamReader stream = ???? 

actualización

He intentado utilizar un StringReader como:

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

pero eso no funciona?

Respuesta

8

Utilice ToString para convertir StringBuilder en una Cadena, y use un StringReader para envolver la Cadena como una Secuencia.

+1

sino un StreamReader hace falta ser un StringReader? – Blankman

+6

Si tiene control sobre él, haga que la función acepte un TextReader (en lugar de StreamReader), que es la clase base para ambos. De lo contrario, puede que tenga que usar el código Qua publicado. –

6

Si se utiliza un StreamReader es un requisito entonces convertir la cadena en una corriente de memoria y luego crear un nuevo StreamReader de utilizar ese objeto:

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