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!