2010-09-28 19 views
12

Tengo objeto de cadena. Necesito pasar estos datos a otro objeto de tipo XYZ. Pero este objeto de tipo XYZ solo está tomando System.IO.Stream. Entonces, ¿cómo convertir los datos de cadena en una secuencia para que el objeto de tipo XYZ pueda usar esta cadena de datos?Cómo obtener System.IO.Stream desde un objeto de cadena

Respuesta

26

Tendrá que elegir una codificación de texto para usar para traducir la cadena en una matriz de bytes, luego use un MemoryStream para llamar a su función. Por ejemplo:

using(System.IO.MemoryStream ms = new System.IO.MemoryStream(
    System.Text.Encoding.UTF16.GetBytes(yourString))) 
{ 
    XYZ(ms); 
} 

puede modificar UTF16 a ser lo codificación desea utilizar para pasar la cadena.

+0

Se está trabajando, gracias. – mohang

+0

agrega el paréntesis derecho que falta en la fila 2. No pude editar, porque las ediciones deben cambiar más de 6 caracteres ... – cudahead

+0

@cudahead: Gracias, hecho. –

1

que quieren Suponiendo flujo de la cadena codificada en UTF-8:

System.IO.MemoryStream mStream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes("the string")); 

Dependiendo de lo que realmente quiere hacer, usted podría ser mejor servidos mediante la clase StringReader. No es un IO.Stream, pero facilita la lectura orientada al texto de una cadena.

1

Este código carga de texto con formato (RTF) en RichTextBox

TextRange tr = new TextRange(RichTextBox1.Document.ContentStart,RichTextBox1.Document.ContentEnd); 

string s = myStringData; //myStringData is a string in some format - rtf, xml, etc.. 
MemoryStream ms = new MemoryStream(s); 
tr.Load(ms, DataFormats.Rtf); 
Cuestiones relacionadas