c# - 我该如何正确处置元素?

标签 c# object dispose

我经常使用以下代码(或类似代码)来处理对象:

SqlCommand vCmd = null;

try 
{
    // CODE
}
catch(Exception ex) { /* EXCEPTION HANDLE */ }
finally 
{
    if (vCmd != null) 
    {
        vCmd.Dispose();
        vCmd = null;
    }
}

这是释放对象和处置对象的最佳方式吗?

我正在使用 VS 分析,并向我发出有关裁员的警告。但我总是这样做......

最佳答案

就可读性而言,最好的方法是使用 using statement :

using(SqlCommand vCmd = new SqlCommand("...", connection)
{
    try 
    {
        // CODE
    }
    catch(Exception ex) 
    { 
        // EXCEPTION HANDLE
    }
}

即使发生错误,它也会处理对象,与finally类似。当对象实现 IDisposable 时,您应该始终使用它,这表明它使用非托管资源。

进一步阅读:

关于c# - 我该如何正确处置元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24440824/

相关文章:

c# - 如何使用来自 mssql 数据库的数据单击 C# .net 页面中包含的 JavaScript block 内的每个标记来添加信息窗口

c# - 如何上传100MB的文件?

c# - 难看的字体渲染

javascript - 从数组映射返回对象

java - 调用 dispose 方法后访问模式对话框变量

c# - 是否可以在应用程序级别连接到硬件键盘事件?

javascript - 如何使用键将两个数组组合成一个对象

javascript 使用私有(private)数组创建对象

f# - 在 F# 中处理模式

java - 使用按钮关闭窗口