这个问题在这里已经有了答案:
Is it OK doing a return from inside using block
(5 个回答)
8年前关闭。
鉴于以下代码:
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
Return 是否会阻止执行功能块的其余部分,即关闭数据库连接和在 Using 块完成时调用的隐式 Dispose()?
最佳答案
不,一个 Using
statement相当于 Try
/ Finally
语句 - 因此在执行离开块时执行处置,无论是通过到达块的末尾,正常返回还是通过异常。
您不需要显式 Close
打电话,因为你无论如何都要处理连接。
关于.NET - Return 是否会阻止对象处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15360342/