次の方法で共有


方法: システム リソースを破棄する (Visual Basic)

Using ブロックを使用すると、コードがこのブロックを終了するときに、リソースが必ず破棄されることを保証できます。 これは、大量のメモリを消費するシステム リソースを使用している場合、または、他のコンポーネントでもそのシステム リソースを使いたい場合に役立ちます。

ファイル ストリームを処理した後に適切に破棄するには

  1. ソース ファイルの先頭にファイル ストリーム用の適切な Imports ステートメント (.NET 名前空間と型を指定) を必ず含めてください。この例では System.IO を指定します。

  2. Using ステートメントと End Using ステートメントを使用して、Using ブロックを作成します。 このブロック内に、ファイル ストリームを処理するコードを記述します。

  3. Using ステートメントの中でファイル ストリームを宣言し、そのインスタンスを作成します。

    ' Insert the following line at the beginning of your source file.  
    Imports System.IO  
    Public Sub AccessFile(ByVal s As String)  
        Using fs As New StreamReader(s)
            MsgBox("reading file contents """ & fs.ReadToEnd() & """")  
        End Using  
    End Sub
    

    ハンドルされていない例外のケースを含め、ブロックを終了する方法に関係なくリソースが破棄されます。

    スコープがブロックに限定されているため、Using ブロック外から fs にアクセスできないことに注意してください。

    この同じ手法は、SQL データベース接続や COM ラッパーなどのシステム リソースにも適用できます。 Using ブロックは、Using ブロックを終了した後に、リソースを確実に他のコンポーネントで使用できるようにしたいときに使用します。

関連項目