2009-07-25 6 views

答えて

23

等価であるusingステートメント

例は

using (var reader = new StreamReader(path)) 
    { 
    DoSomethingWith(reader); 
    } 

あろう制約が使用句でスコープ変数の型は、IDisposableを実装しなければならないことであり、それは取得そのDispose()方法であります関連付けられたコードブロックからの終了時に呼び出されます。別の答えに言及し、ここに記載されているよう

5

C#が、using声明を持っています

何アナログが存在しないという点で、しかし、それは、Pythonのwithステートメントにない同等です方法は__enter__です。 Pythonで

using (var foo = new Foo()) { 

    // ... 

    // foo.Dispose() is called on exiting the block 
} 

:ここ with文の

with Foo() as foo: 
    # foo.__enter__() called on entering the block 

    # ... 

    # foo.__exit__() called on exiting the block 

以上のC#で

関連する問題