.NET - Return是否阻止对象处理

时间:2013-03-12 11:47:57

标签: .net vb.net function return

给出以下代码:

  Function GetSomething() As Integer
    Using dbConn As New SqlConnection("Connection_String")
      dbConn.Open()
      Using dbCmd As New SqlCommand(" SELECT SOMETHING ....", dbConn)
        Return Integer.Parse(dbCmd.ExecuteScalar())
      End Using
      dbConn.Close()
    End Using
  End Function

返回是否会阻止执行功能块的其余部分,即关闭数据库连接以及当使用块完成时调用的隐含Dispose()?

1 个答案:

答案 0 :(得分:13)

不,Using statement等同于Try/Finally语句 - 因此当执行离开块时执行处理,无论是通过到达块的末尾,正常返回还是通过异常执行

你不需要明确的Close电话,因为你无论如何都在处理这个连接。