在 C# 中從字串建立流
本指南示範如何在 C# 中從字串有效地建立流物件。 當單元測試需要流作為輸入的函數時,這種技術特別有價值,模仿從文字檔案中讀取的行為。
解:
以下 C# 程式碼片段提供了將字串轉換為流的函數:
<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>
使用方法:
這個StringToStream
函數可以像這樣整合到您的程式碼中:
<code class="language-csharp">using (Stream myStream = StringToStream("a,b \n c,d")) { // Process the stream here... }</code>
關於 StreamWriter 處置的重要說明:
StreamWriter
未在函數內明確配置。 這是故意的。 StreamWriter
充當包裝器;處理它會過早關閉底層的 MemoryStream
,我們需要返回它。
.NET 4.5 及更高版本:
雖然 .NET 4.5 及更高版本提供 StreamWriter
重載,使底層流在處理後保持開啟狀態,但提供的程式碼仍與所有 .NET 框架相容。 這確保了更廣泛的適用性。
以上是如何在 C# 中從字串建立流?的詳細內容。更多資訊請關注PHP中文網其他相關文章!