Wenn man mir eine MemoryStream
von dem ich weiß, dass es mit einer String
wie bekomme ich eine String
wieder raus?
Antworten
Zu viele Anzeigen?
Riccardo Bassilichi
Punkte
879
Ich muss eine Klasse integrieren, die einen Stream benötigt, um darauf zu schreiben:
XmlSchema schema;
// ... Use "schema" ...
var ret = "";
using (var ms = new MemoryStream())
{
schema.Write(ms);
ret = Encoding.ASCII.GetString(ms.ToArray());
}
//here you can use "ret"
// 6 Lines of code
Ich erstelle eine einfache Klasse, die helfen kann, Codezeilen für die Mehrfachnutzung zu reduzieren:
public static class MemoryStreamStringWrapper
{
public static string Write(Action<MemoryStream> action)
{
var ret = "";
using (var ms = new MemoryStream())
{
action(ms);
ret = Encoding.ASCII.GetString(ms.ToArray());
}
return ret;
}
}
dann können Sie das Beispiel durch eine einzige Codezeile ersetzen
var ret = MemoryStreamStringWrapper.Write(schema.Write);
Harlin Acero
Punkte
39
- See previous answers
- Weitere Antworten anzeigen
1 Stimmen
Ich bin mir nie ganz sicher, ob reader.close immer erforderlich ist. Ich habe in der Vergangenheit Probleme gehabt, so dass ich in der Regel immer tun, nur um auf der sicheren Seite zu sein.