3

我想知道我是否应该在另一个里面使用 using 语句?例如:

using(SqlConnection con = new SqlConnection(...))
{
    ...
    using(SqlCommand cmd = new SqlCommand(...))
    {

    }
    ...
}

两个“使用”都是必要的,还是第一个使用完成后会处理所有东西?

4

2 回答 2

4

您需要为using statement要处理的每个对象使用 a 。

using statement如果您知道 a主要是 语法糖,我认为您会更好地理解这一点 ,在引擎盖下会生成如下内容:

myObject m = new myObjecyt()
try
{
   // Code here
}
finally
{
   m.Dispose();
}

在您当前的上下文中,可能需要处理包含在单个 using 块中的每个对象,但在许多其他上下文中,这种行为是不可取的。

于 2013-04-21T16:49:31.983 回答
1

您需要两者,因为它们是完全独立的,每个都有自己的变量。如果你有多个连续的 using 语句,你也可以这样写

using(SqlConnection con = new SqlConnection(...))
using(SqlCommand cmd = new SqlCommand(...))
{
   ...
}
于 2013-04-21T17:01:03.577 回答