两个使用嵌套在一起

时间:2010-11-11 10:59:01

标签: c# .net

对于以下两个代码段是相同的

代码段1:

using()
using()
{
   blah blah blah
}

代码段2:

using ()
{
  using ()
  {
    blah blah blah
  }
}

3 个答案:

答案 0 :(得分:6)

它们功能相同。

有关使用陈述的更多详细信息和选项,请参阅this所以问题和答案。

using(TypeX x = new TypeX())
using(TypeY y = new TypeY())
{
   blah blah blah
}

完全相同:

using(TypeX x = new TypeX())
{
  using(TypeY y = new TypeY())
  {
   blah blah blah
  }
}

另外,如果您要初始化相同类型的两个变量,您可以执行以下操作:

using(TypeY y1 = new TypeY(), y2 = new TypeY())
{
   blah blah blah
}

答案 1 :(得分:4)

是的,完全一样。

答案 2 :(得分:1)

是的,只要您在第一次和第二次之间使用或在第一次和第二次使用的右大括号之间没有放置任何其他内容,它就是相同的。

例如,如果您将此代码更改为:

using ()
{
    using ()
    {
        blah blah blah
    }
    blah blah blah
}

OR

using ()
{
    blah blah blah
    using ()
    {
        blah blah blah
    }
}

或者上述两者的组合,那就不同了。