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

标签 .net vb.net function return

这个问题在这里已经有了答案:





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/

相关文章:

c# - 在回发 asp.net 之间保存变量的最佳方法?

c# - 设置默认值后,从 WebBrowser 控件打印到错误的打印机

mysql - 在我的 asp.net 页面中监视数据库更改

mysql - 将函数应用于 View 中的多列

c++ - 函数原型(prototype)中的参数名称不同

.net - 什么是最好和最活跃的开源 .Net 搜索技术?

c# - SharpPcap 4.2 与 WinPcap 4.1.3 给出 "Unable to open offline adapter: bad dump file format"

mysql - 在 Vb.Project 上渲染之前更改连接字符串(数据集)

vb.net - 我将如何使用“打开文件”对话框来选择图像,然后将该图像放入另一个窗体的图片框中?

java - EclipseLink(版本 2.1.3)中 JQPL 中的 Oracle NVL 函数是否等效?