Pythonは、と呼ばれる2.6以降、という素晴らしいキーワードを持っています。 C#に似たものがありますか?C#にPythonの「with」のようなものがありますか?
9
A
答えて
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#で
関連する問題
- 1. JavaScriptにC#String.Format(...)のようなものがありますか?
- 2. C#用のpythonデコレータのようなものがありますか?
- 3. C#で "Javascriptコンテキスト"のようなものがありますか
- 4. JAX-B for C#のようなものがありますか?
- 5. C#のバンドルのようなものはありますか?
- 6. HTTP :: Recorder for Pythonのようなものはありますか?
- 7. python setup.pyビルドの指示にAC_CHECK_LIBのようなものがありますか?
- 8. PythonにはRubyのFogのようなものがありますか?
- 9. IRB for Cのようなものはありますか?
- 10. Objective-C 2.0にMatlabのevalステートメントのようなものがありますか?
- 11. にはC++のconstのようなものがありますか?
- 12. PythonでLINQ to XMLのようなものがappengine用にありますか?
- 13. pythonにはphp java bridgeのようなものがありますか?
- 14. cはscanfを持っていますが、Pythonには似たようなものがありますか?
- 15. JavaにはCHESSのようなものがありますか?
- 16. FlutterにAlarmManagerのようなものがありますか?
- 17. AndroidにはlocalStorageのようなものがありますか?
- 18. JAVA Javaにプリプロセッサのようなものがありますか?
- 19. Rails 3.1にstylesheet_urlのようなものがありますか?
- 20. Laravel 5.4にアクションスロットルのようなものがありますか?
- 21. プリズムインフラストラクチャプロジェクトにはどのようなものがありますか?
- 22. Silverlightに "OnPaint"メソッドのようなものがありますか?
- 23. ルビーに "callable"のようなものがありますか?
- 24. solrに "PageRank"のようなものがありますか?
- 25. Verilogに__LINE__のようなものがありますか?
- 26. VB.NETには "global ::"のようなものがありますか?
- 27. java.awt.Graphicsに "Anchors"(javax.microedition.lcdui.Graphics)のようなものがありますか?
- 28. Pythonでリストをスライスする:-0のようなものがありますか?
- 29. AndroidのようにBlackberryにSharedPreferencesのようなものがありますか?
- 30. Python 2.xでは__pycache__のようなものがありますか?