Python có từ khóa đẹp từ 2.6 được gọi là với. Có cái gì đó tương tự trong C#?Có cái gì đó giống như Python 'với' trong C#?
9
A
Trả lời
23
Tương đương là using
tuyên bố
Một ví dụ sẽ
using (var reader = new StreamReader(path))
{
DoSomethingWith(reader);
}
Hạn chế là kiểu của biến trong phạm vi các điều khoản sử dụng phải thực hiện IDisposable
và nó là phương pháp Dispose()
của nó mà được được gọi khi thoát khỏi khối mã được liên kết.
5
C# có báo cáo kết quả using
, như đã đề cập trong câu trả lời khác và tài liệu ở đây:
Tuy nhiên, nó không tương đương tuyên bố with
Python, trong đó không có analog của phương thức __enter__
.
Trong C#:
using (var foo = new Foo()) {
// ...
// foo.Dispose() is called on exiting the block
}
Trong Python:
with Foo() as foo:
# foo.__enter__() called on entering the block
# ...
# foo.__exit__() called on exiting the block
Thông tin thêm về các with
tuyên bố ở đây:
Các vấn đề liên quan
- 1. MATLAB Có một cái gì đó giống như danh sách hiểu như nó là trong python?
- 2. Có cái gì đó giống như `last` cho` map`?
- 3. Có cái gì đó giống như WMI cho Linux?
- 4. Có cái gì đó giống như Incanter cho Haskell?
- 5. Có cái gì đó giống như máy phát điện Python trong Ruby?
- 6. Ruby có một cái gì đó giống như sự hiểu biết danh sách của Python?
- 7. Scala/java có một cái gì đó giống như StringIO từ python?
- 8. Liệu python có một cái gì đó giống như C++ 's bằng cách sử dụng từ khóa?
- 9. Có điều gì đó giống như trang trí python cho C#?
- 10. Có điều gì đó giống như find_if trong Java không?
- 11. Python: Một cái gì đó giống như `bản đồ` hoạt động trên các chủ đề
- 12. là gì lệnh p4 tương đương với một cái gì đó giống như tình trạng svn
- 13. Có cái gì đó giống như strall Linux ptrace trong Windows?
- 14. Do regexes Python hỗ trợ một cái gì đó giống như của Perl \ G?
- 15. Một cái gì đó như tăng :: multi_index cho Python
- 16. là có cái gì đó giống như isset của php trong javascript/jQuery?
- 17. Có điều gì đó giống như __LINE__ trong Verilog không?
- 18. C++ literals vector, hoặc một cái gì đó giống như họ
- 19. Có điều gì đó giống như Codecademy cho Java
- 20. Gson có một cái gì đó giống như @JsonProperty cho phương pháp?
- 21. Một cái gì đó giống như chức năng đại biểu gọi lại trong php
- 22. Có một cái gì đó giống như Sprocket tồn tại cho Java
- 23. Một cái gì đó giống như một chức năng/phương pháp trong các tập tin batch?
- 24. điều gì đó giống như dấu ngoặc kép của python trong F # (hoặc C#)?
- 25. Có cái gì đó giống như IIS 6.0 Resource Kit Tools cho IIS 7?
- 26. Liệu Perl có một cái gì đó giống như Java/PHP Docs?
- 27. Tìm kiếm một cái gì đó giống như của JUnit @Before/@After trong MUnit
- 28. Cái gì đó tương tự như split()?
- 29. Có cái gì như var_dump của PHP trong c/c + +?
- 30. Có điều gì đó giống như bpython cho Ruby không?