2010-11-24 3 views

答えて

10

彼らは、テキストの順序で実行され、そして順に配置され - これlocalFileSreamが最初に配置され、その後、ftpStream

using (Stream ftpStream = ...) 
{ 
    using (FileStream localFileStream = ...) 
    { 
     // localFileStream will be disposed when leaving this block 
    } 
    // ftpStream will be disposed when leaving this block 
} 

それはしかしそれよりもさらに進んで:

基本的にはあなたのコードは以下と等価です。

using (Stream ftpStream = ..., localFileStream = ...) 
{ 
    ... 
} 
2

はい:あなたのコードはこれまで(localFileStreamの異なる種類をともかく)と同等です。この構文は、usingステートメントのネストのショートカットまたは代替方法に過ぎません。あなたがしているのは、最初のusingステートメントの括弧を省略することだけです。それは、

using (Stream ftpStream = ftpResponse.GetResponseStream()) 
{ 
    using (FileStream localFileStream = (new FileInfo(localFilePath)).Create()) 
    { 
     //insert your code here 
    } 
} 
と同等です。
関連する問題