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