web-dev-qa-db-ja.com

「using」ステートメントを使用している場合、ストリームまたはライターでFlush()を呼び出す必要がありますか?

次のように記述した場合、使用されているオブジェクトに対してFlush()を呼び出す必要があるかどうかわかりません。

using (FileStream...)
using (CryptoStream...)
using (BinaryWriter...)
{
    // do something
}

それらは常に自動的にフラッシュされますか? usingステートメントはいつそれらをフラッシュし、いつフラッシュしませんか(それが発生する可能性がある場合)?

45
Ben

使用ブロックのスコープを離れるとすぐに、ストリームは閉じられて破棄されます。 Close()はFlush()を呼び出すため、手動で呼び出す必要はありません。

55
Davide Piras