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

C# で文字列からストリームを作成するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-22 14:51:11729ブラウズ

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

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。