Necesito llamar a un método que acepta un argumento de transmisión. El método carga texto en la secuencia, que normalmente sería un archivo. Me gustaría simplemente llenar una cadena con el contenido de la secuencia, en lugar de escribirla en un archivo. ¿Cómo hago esto?¿Cómo uso una cadena como secuencia en .Net?
Respuesta
Utilice un MemoryStream con un StreamReader. Algo así como:
using (MemoryStream ms = new MemoryStream())
using (StreamReader sr = new StreamReader(ms))
{
// pass the memory stream to method
ms.Seek(0, SeekOrigin.Begin); // added from itsmatt
string s = sr.ReadToEnd();
}
Busque clase MemoryStream
Uso del StringWriter para actuar como una corriente en una cadena:
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
CallYourMethodWhichWritesToYourStream(sw);
return sb.ToString();
Un StringWriter es un tipo de TextWriter, no un tipo de Stream, por lo que no se puede pasar a un método que espera un Stream. –
se puede hacer algo como:
string s = "Wahoo!";
int n = 452;
using(Stream stream = new MemoryStream()) {
// Write to the stream
byte[] bytes1 = UnicodeEncoding.Unicode.GetBytes(s);
byte[] bytes2 = BitConverter.GetBytes(n);
stream.Write(bytes1, 0, bytes1.Length);
stream.Write(bytes2, 0, bytes2.Length);
O podría simplemente construir el MemoryStream desde la matriz bytes1 []. –
MemoryStream ms = new MemoryStream();
YourFunc(ms);
ms.Seek(0, SeekOrigin.Begin);
StreamReader sr = new StreamReader(ms);
string mystring = sr.ReadToEnd();
es una manera de hacerlo.
Hmm ... no vi la respuesta de Bryant antes, esencialmente la misma cosa. Oh bien. El suyo funcionará si agrega la llamada de búsqueda a él. – itsmatt
Este código realmente funciona. Sería genial fusionar esto con la respuesta mejor formateada de Bryant, pero aún no tengo la reputación de hacerlo ... – JoshL
- 1. ¿Cómo uso una cadena arbitraria como un candado en C++?
- 2. Creando una secuencia FILE * que da como resultado una cadena
- 3. ¿Cómo uso una cadena como argumento de palabra clave?
- 4. Ocurrencia de secuencia secundaria en una cadena
- 5. Uso de una envoltura de secuencia personalizada como comprobante de PHP http: // Contenedor de secuencia
- 6. Cómo formatear condicionalmente una cadena en .Net?
- 7. ¿Cómo encriptar una cadena en .NET?
- 8. ¿Cómo puedo generar una secuencia a partir de una cadena?
- 9. Pasar una cadena de múltiples líneas como argumento para una secuencia de comandos en Windows
- 10. ¿Cómo escribir el contenido de una secuencia en otra secuencia en .net?
- 11. ¿Puede .NET XmlSerializer class deserialize InnerXml como una cadena?
- 12. Recurso del ensamblado como una secuencia
- 13. .net - ¿Cómo se registra una secuencia de comandos de inicio?
- 14. ¿Cómo puedo representar una imagen PNG (como una secuencia de memoria) en una superficie de informe .NET ReportViewer
- 15. Romper una cadena aparte en una secuencia de palabras
- 16. Cómo ejecutar una DLL como un servicio en .NET
- 17. ¿Cómo hash una secuencia en Android?
- 18. Cómo asignar una cadena a una secuencia de base de datos en Hibernate
- 19. ¿Cómo uso Hashtables/HashSets en .NET?
- 20. ¿Cómo convertir una cadena a secuencia de caracteres?
- 21. ¿Cómo uso una clase .NET en VBA? Sintaxis ayuda!
- 22. Cómo escribir caracteres especiales ASCII en una cadena .Net
- 23. Cómo convertir una cadena en base64 en .NET Framework 4
- 24. Diccionario .NET como una propiedad
- 25. F #: ¿Cómo dividir una secuencia en una secuencia de secuencias
- 26. Cadena constante como una cadena localizada
- 27. cadena concat en una secuencia de comandos shell
- 28. cadena Splitter en .NET
- 29. ¿Cómo conseguir incluir contenidos como una cadena?
- 30. ¿Cómo analizo un documento xml como una secuencia usando Scala?
Podría mencionar que tendrá que rebobinar la secuencia antes de usarla para leer de ella. :) –