【发布时间】:2020-05-30 21:06:16
【问题描述】:
我对 C# using 语句有疑问。根据文档,在 using 语句中声明和初始化资源(例如,SqlConnection 对象)是最佳实践。我的问题是:如果我只在 using 范围之外声明对象(并将其初始化为 using 语句的一部分),是否完全等于将其声明为 using 语句的一部分?我的用例是我需要在 using 范围之外使用 SqlConnection 对象。 (我想打电话给SqlConnection.ClearPool,以防我遇到一些特定的异常。
【问题讨论】:
-
在幕后添加 finally 的概念,所以像 using(var x = new Instance){ whatevey } 等于 try{ var x=new Instance } finally{x.Dispose } stackoverflow.com/questions/5563886/…
-
在 using 语句之前声明变量,然后在 using 语句中初始化变量不是问题。 using 语句的范围是在退出 using 块时释放该变量。但是,如果不重新初始化它,您将无法再使用该变量。
标签: c# .net idisposable sqlconnection using-statement