Heim > Backend-Entwicklung > C++ > Wie kann ich in C# einen MemoryStream aus einem String erstellen?

Wie kann ich in C# einen MemoryStream aus einem String erstellen?

Barbara Streisand
Freigeben: 2025-01-22 14:56:11
Original
345 Leute haben es durchsucht

How Can I Create a MemoryStream from a String in C#?

Erstellen eines MemoryStream aus einem String in C#

Unit-Tests erfordern oft die Simulation von Eingabeströmen aus Textdateien. Dieses Beispiel zeigt eine einfache und effektive Methode, GenerateStreamFromString, um ein MemoryStream aus einer Zeichenfolge zu erstellen.

GenerateStreamFromStringImplementierung

Die folgende Funktion wandelt einen String effizient in einen MemoryStream um:

public static Stream GenerateStreamFromString(string s)
{
    var stream = new MemoryStream();
    var writer = new StreamWriter(stream);
    writer.Write(s);
    writer.Flush();
    stream.Position = 0;
    return stream;
}
Nach dem Login kopieren

Verwendungsbeispiel:

using (var stream = GenerateStreamFromString("a,b \n c,d"))
{
    // Process the stream here
}
Nach dem Login kopieren

Umgang mit der StreamWriter-Entsorgung

Die using-Anweisung entfernt automatisch StreamWriter, aber dadurch würde auch MemoryStream geschlossen. Da wir das MemoryStream zurückgeben müssen, vermeiden wir die explizite Entsorgung von StreamWriter. Die StreamWriter-Methode von Dispose schließt nur den zugrunde liegenden Stream, was in diesem Szenario das gewünschte Verhalten ist.

Dieser Ansatz funktioniert in allen .NET-Versionen, im Gegensatz zu Alternativen, die auf StreamWriter Überladungen basieren, die in .NET 4.5 und höher eingeführt wurden. Diese Überladungen ermöglichen es, den zugrunde liegenden Stream nach der Entsorgung offen zu halten, aber unsere Methode sorgt für eine breitere Kompatibilität.

Weitere Einzelheiten zur Verwaltung der Stream-Entsorgung finden Sie in den Ressourcen, in denen Techniken zum Schließen StreamWriter ohne Schließen des Basis-Streams erörtert werden.

Das obige ist der detaillierte Inhalt vonWie kann ich in C# einen MemoryStream aus einem String erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage