このサンプルコードを考えると:
1: using (StreamWriter sw = new StreamWriter(@"C:\file.txt"))
2: {
3: sw.WriteLine(great_string);
4: }
5:
6: using (StreamReader sr = new StreamReader(@"C:\file.txt"))
7: {
8: sr.ReadToEnd();
9: }
8行目で呼び出されたときにgreat_string
3行目で書かれたものが存在しない可能性はありますか?あなたの平均的なCPUはあなたの平均的なHDDよりもはるかに高速に動作するので、それは可能だと私には思えますが、私は今日これをテストしており、これまでのところ、3行目に書かれた文字列はオンラインでファイルを読むときに常に存在します8.おそらく、すべてのデータがファイルに書き込まれるかファイルから読み取られるまで、ステートメントがストリームを閉じないので、私が求めているような状況を防ぐことができると思います。C:\file.txt
StreamReader.ReadToEnd
using
私はMSDNでStreamWriter.Closeメソッドについて読んでいますが、次のように記載されています。
すべてのデータが基になるストリームに正しく書き出されるようにするには、Closeを呼び出す必要があります。
ただし、データが基になるストリームにいつ書き出されるかはわかりません。
このテーマに関する情報を事前に感謝します。この質問に対する答えを検索しましたが、何も見つかりませんでした...検索する用語がよくわかりませんでした。