使用有什么区别:
'Log Builder
Protected Sub EventLogBuilder()
'Create a streamwriter for the logs...
Dim logBuilder As StreamWriter
'Pass the file path and name for the log files...
logBuilder = New StreamWriter("C:\GateInterfaceLog.txt")
'Write a test line of text...
logBuilder.WriteLine("")
logBuilder.Close()
End Sub
与
Protected Sub eastOpen_Click(sender As Object, e As EventArgs) Handles eastOpen.Click
'Actions take place here
更高效还是允许更多方法访问?在我看来,在下一个块结束后,with-as语句是临时的和未引用的。
答案 0 :(得分:4)
您的第一个示例只是打开文件并将文件对象分配给变量。您需要自己管理关闭文件(理想情况下,在try-finally块中,这样您就不会泄漏文件)
第二个代码段使用上下文管理器在退出with块时自动关闭文件,包括返回或引发异常