2010-11-11 25 views
1

是它同为以下两个代码段两个使用嵌套在一起

片段1:

using() 
using() 
{ 
    blah blah blah 
} 

片段2:

using() 
{ 
    using() 
    { 
    blah blah blah 
    } 
} 
+0

[在C#中嵌套使用语句]的可能重复(http://stackoverflow.com/questions/1329739/nested-using-statements-in-c) – Richard 2010-11-11 11:15:28

回答

6

它们在功能上是相同的。

请参阅this有关使用语句的更多详细信息和选项的SO问答。

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 
} 
4

是,一模一样。

1

是的,只要你不在第一次和第二次使用之间或第一次和第二次使用的大括号之间放置其他任何东西。

例如,如果你这个代码更改为类似:

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

OR

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

或两个以上的组合,那么这将是不同的。

相关问题