ホームページ > バックエンド開発 > C++ > C# で文字列から MemoryStream を作成するにはどうすればよいですか?

C# で文字列から MemoryStream を作成するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-22 14:56:11
オリジナル
298 人が閲覧しました

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 を返す必要があるため、StreamWriter を明示的に破棄することは避けます。 StreamWriterDispose メソッドは基になるストリームのみを閉じます。これは、このシナリオで望ましい動作です。

このアプローチは、.NET 4.5 以降で導入された StreamWriter オーバーロードに依存する代替方法とは異なり、すべての .NET バージョンで機能します。 これらのオーバーロードにより、基礎となるストリームを破棄後に開いたままにすることができますが、私たちのメソッドはより広範な互換性を維持します。

ストリームの破棄管理の詳細については、ベース ストリームを閉じずに StreamWriter を閉じる手法について説明しているリソースを参照してください。

以上がC# で文字列から MemoryStream を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート