我应该使用几个嵌套的"stements

本文关键字:嵌套 quot stements 几个 我应该 | 更新日期: 2023-09-27 18:10:09

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

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

两个"使用"都是必要的,还是第一个使用完成后会处理所有内容?

我应该使用几个嵌套的"stements

您需要为想要处置的每个对象使用一个using statement

我想如果你知道using statement主要是语法糖,你会更好地理解这一点,在底层会生成这样的东西:

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

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

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

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