StreamWriter.AutoFlush プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
StreamWriter が呼び出されるたびに、Write(Char) によって基になるストリームに対するバッファーをフラッシュするかどうかを示す値を取得または設定します。
public:
virtual property bool AutoFlush { bool get(); void set(bool value); };
public virtual bool AutoFlush { get; set; }
member this.AutoFlush : bool with get, set
Public Overridable Property AutoFlush As Boolean
プロパティ値
StreamWriter に強制的にバッファーをフラッシュさせる場合は true
。それ以外の場合は false
。
例
次の例は、 プロパティを使用するための構文を AutoFlush
示しています。
// Gets or sets a value indicating whether the StreamWriter
// will flush its buffer to the underlying stream after every
// call to StreamWriter.Write.
sw->AutoFlush = true;
// Gets or sets a value indicating whether the StreamWriter
// will flush its buffer to the underlying stream after every
// call to StreamWriter.Write.
sw.AutoFlush = true;
' Gets or sets a value indicating whether the StreamWriter
' will flush its buffer to the underlying stream after every
' call to StreamWriter.Write.
Sw.AutoFlush = True
注釈
または Closeを明示的に呼び出Flushさない限り、ストリームをフラッシュしても、基になるエンコーダーはフラッシュされません。 を にtrue
設定AutoFlushすると、書き込み操作のたびにバッファーからストリームにデータがフラッシュされますが、エンコーダーの状態はフラッシュされません。 これにより、エンコーダーは状態 (部分的な文字) を保持して、次の文字ブロックを正しくエンコードできるようになります。 このシナリオは UTF8 と UTF7 に影響を与え、エンコーダーが隣接する文字を受信した後にのみ特定の文字をエンコードできます。
が にfalse
StreamWriter
設定されている場合AutoFlush
は、内部的にも、エンコーダー内でも、渡したエンコードから、限られた量のバッファリングが行われます。 を使用して書き込みがStreamWriter
完了したときに常に を呼び出Close
す (または少なくとも Flush
) と仮定すると、 を にfalse
設定AutoFlush
すると、パフォーマンスが向上します。
たとえば、ユーザーがすぐにフィードバックを受け取るデバイスに書き込む場合は、 を にtrue
設定AutoFlush
します。 Console.Out
は、これらのケースの 1 つです。を書き込む際に内部的に使用される は StreamWriter
、 の Console
呼び出しのたびにエンコーダー状態を除くすべての内部状態をフラッシュします StreamWriter.Write。
共通 I/O タスクの一覧は、 共通 I/O タスク を参照してください。
適用対象
こちらもご覧ください
.NET