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

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

Susan Sarandon
Susan SarandonOriginal
2025-01-22 14:51:11775Durchsuche

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

Erstellen von Streams aus Strings in C#

Diese Anleitung zeigt, wie Sie in C# effizient ein Stream-Objekt aus einem String erstellen. Diese Technik ist besonders wertvoll, wenn Unit-Testfunktionen ausgeführt werden, die einen Stream als Eingabe erwarten und das Verhalten beim Lesen aus einer Textdatei nachahmen.

Die Lösung:

Der folgende C#-Codeausschnitt stellt eine Funktion zum Konvertieren einer Zeichenfolge in einen Stream bereit:

<code class="language-csharp">public static Stream StringToStream(string inputString)
{
    MemoryStream stream = new MemoryStream();
    StreamWriter writer = new StreamWriter(stream);
    writer.Write(inputString);
    writer.Flush();
    stream.Position = 0;
    return stream;
}</code>

Wie man es benutzt:

Diese StringToStream Funktion kann wie folgt in Ihren Code integriert werden:

<code class="language-csharp">using (Stream myStream = StringToStream("a,b \n c,d"))
{
    // Process the stream here...
}</code>

Wichtiger Hinweis zur StreamWriter-Entsorgung:

Das StreamWriter wird nicht explizit innerhalb der Funktion bereitgestellt. Das ist Absicht. StreamWriter fungiert als Wrapper; Eine Veräußerung würde den zugrunde liegenden MemoryStream vorzeitig schließen, den wir zurückgeben müssen.

.NET 4.5 und höher:

Während .NET 4.5 und spätere Versionen eine StreamWriter Überladung bieten, die den zugrunde liegenden Stream nach der Entsorgung offen hält, bleibt der bereitgestellte Code mit allen .NET-Frameworks kompatibel. Dies gewährleistet eine breitere Anwendbarkeit.

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

Stellungnahme:
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