当使用“using”语句时,是否需要关闭连接?

6

目前我的代码结构如下。

using (var sqlCon = new SqlConnection(Context.ReturnDatabaseConnection()))
        {
            sqlCon.Open();

            try
            {
               //Code here

            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            finally
            {
                sqlCon.Close();
            }
        }

理想情况下,据我所知使用“using”语句会处理连接关闭的问题,但由于其他人的说法,我还有疑虑。
谢谢。

1
在完成后,using 会调用 Dispose 方法释放对象。请参阅:http://msdn.microsoft.com/zh-cn/library/aa326260(v=vs.71).aspx - Evan Trimboli
1
你能提供那些持有不同意见的其他答案链接吗?我认为不需要关闭,你可以删除整个 finally 块。 - musical_coder
3个回答

8

1

你只需要使用using语句即可。它会释放对象,通常需要较少的编码。


1
使用using语句将为您处理它。额外的背景是,using语句是一个语法糖,用于try ... finally,finally中会释放IDisposable对象。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接