首頁 >後端開發 >C++ >如何在 C# 中從字串建立 MemoryStream?

如何在 C# 中從字串建立 MemoryStream?

Barbara Streisand
Barbara Streisand原創
2025-01-22 14:56:11349瀏覽

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

在 C# 中從字串建立 MemoryStream

單元測試通常需要模擬來自文字檔案的輸入流。 此範例示範了一種簡單有效的方法 GenerateStreamFromString,用於從字串建立 MemoryStream

GenerateStreamFromString實作

以下函數有效地將字串轉換為 MemoryStream:

<code class="language-csharp">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;
}</code>

使用範例:

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

處理 StreamWriter 處置

using 語句會自動處理 StreamWriter,但這也會關閉 MemoryStream。 由於我們需要回傳 MemoryStream,因此我們避免明確處置 StreamWriterStreamWriterDispose 方法僅關閉底層流,這是此場景中所需的行為。

此方法適用於所有 .NET 版本,與依賴 .NET 4.5 及更高版本中引入的 StreamWriter 重載的替代方案不同。 這些重載允許在處理後保持底層流打開,但我們的方法保持更廣泛的兼容性。

有關管理流處置的更多詳細信息,請參閱討論在不關閉基礎流的情況下關閉 StreamWriter 的技術的資源。

以上是如何在 C# 中從字串建立 MemoryStream?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn