VB.NETのUsing文のサンプルです。インスタンスを自動で破棄します。
目次
サンプル | インスタンスを自動で破棄するusing文 |
インスタンスを自動で破棄するUsing文
Using 変数 As New StreamReaderクラス等() 処理 End Using |
- Using文は、配下の処理を抜けるときにUsingの右にあるインスタンスを自動で破棄します。
- Finally句でインスタンスを破棄するDisposeメソッドが不要になります。
- 対象は、IDisposableインターフェースを実装したクラスです。
- 以下は、MicrosoftのUsing ステートメントのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/using-statement
Using文を使用した場合
Using文を使用してファイルを読み込むサンプルです。
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
Dim path1 = "D:\Test1\test1.txt"
Try
Using file As New StreamReader(
path1, Encoding.GetEncoding("Shift_JIS"))
While (file.EndOfStream = False)
Console.WriteLine(file.ReadLine())
End While
End Using
Catch e As Exception
Console.WriteLine(e.Message)
End Try
End Sub
End Module
8.9行目は、using文でStreamReaderクラスでファイルを読み込んでいます。Disposeメソッドが不要です。
Using文を使用しない場合
Using文を使用しないでファイルを読み込むサンプルです。
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
Dim path1 = "D:\Test1\test1.txt"
Dim file As StreamReader = Nothing
Try
file = New StreamReader(path1, Encoding.GetEncoding("Shift_JIS"))
While (file.EndOfStream = False)
Console.WriteLine(file.ReadLine())
End While
Catch e As Exception
Console.WriteLine(e.Message)
Finally
file.Dispose()
End Try
End Sub
End Module
18行目にファイルを閉じるdisposeメソッドがあります。
関連の記事