2010-11-11 67 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 
    } 
} 

或兩個以上的組合,那麼這將是不同的。