Stream.Close Stream.Close Stream.Close Stream.Close Method

定義

現在のストリームを閉じ、現在のストリームに関連付けられているすべてのリソース (ソケット、ファイル ハンドルなど) を解放します。Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. このメソッドを呼び出す代わりに、ストリームが適切に破棄されていることを確認します。Instead of calling this method, ensure that the stream is properly disposed.

public:
 virtual void Close();
public virtual void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
Public Overridable Sub Close ()

注釈

このメソッドを呼び出すDisposeを指定してtrueをすべてのリソースを解放します。This method calls Dispose, specifying true to release all resources. 具体的には呼び出す必要はありません、Closeメソッド。You do not have to specifically call the Close method. 代わりに、必ずすべてStreamオブジェクトが適切に破棄します。Instead, ensure that every Stream object is properly disposed. 宣言できますStream内のオブジェクトは、usingブロック (またはUsingVisual Basic でのブロック) とそのすべてのリソース ストリームが破棄されると、または明示的に呼び出すことができます、Disposeメソッド。You can declare Stream objects within a using block (or Using block in Visual Basic) to ensure that the stream and all of its resources are disposed, or you can explicitly call the Dispose method.

実装を明示的に呼び出さない限りは、ストリームのフラッシュに基になる、エンコーダーはフラッシュされませんFlushまたはCloseします。Flushing the stream will not flush its underlying encoder unless you explicitly call an implementation of Flush or Close. 設定AutoFlushtrueデータは、バッファーからストリームにフラッシュされますが、エンコーダーの状態はフラッシュされないことを意味します。Setting AutoFlush to true means that data will be flushed from the buffer to the stream, but the encoder state will not be flushed. これにより、エンコーダーで、次の文字のブロックは正常にエンコードできるように、(一部の文字) の状態を維持できます。This allows the encoder to keep its state (partial characters) so that it can encode the next block of characters correctly. このシナリオでは、UTF8、UTF7、エンコーダーは、隣接する文字または文字列を受信した後にのみ特定の文字をエンコードすることができますに影響します。This scenario affects UTF8 and UTF7 where certain characters can be encoded only after the encoder receives the adjacent character or characters.

ストリームが閉じられた後にストリームを操作する試行をスローする可能性をObjectDisposedExceptionします。Attempts to manipulate the stream after the stream has been closed might throw an ObjectDisposedException.

注意 (継承者)

派生クラスでオーバーライドしないでください、Close()メソッドを代わりに、すべての配置、Streamでのクリーンアップ ロジック、Dispose(Boolean)メソッド。In derived classes, do not override the Close() method, instead, put all of the Stream cleanup logic in the Dispose(Boolean) method. 詳細については、次を参照してください。 Dispose メソッドの実装します。For more information, see Implementing a Dispose Method.

適用対象

こちらもご覧ください