Trong VB.NET trên một hàm boolean nếu bạn chạy một dòng Exit Function nó sẽ trả về false?Chức năng thoát có trả về false không?
Trả lời
Đó là chính xác, với sự báo trước rằng trong VB tên hàm cũng có thể là một biến mà được trả về. Nếu trước đó bạn đã đặt điều đó thành true, nó sẽ trả về true.
hoàn toàn hơn, trong VB.Net, nếu tôi có một hàm boolean Foo()
được xác định như sau:
Public Function Foo() As Boolean
'...
... cơ thể của chức năng đó có một biến ngụ ý cũng tên Foo
phù hợp kiểu trả về của hàm — Boolean
trong trường hợp này, nhưng Object
nếu loại trả về bị bỏ qua (bạn nên sử dụng Option Strict
, yêu cầu loại trả về). Biến được ngụ ý này được khởi tạo để sử dụng giá trị mặc định cho loại đó.
Nếu bạn không nhập Return
một giá trị từ hàm, cho dù qua Exit Function
hoặc đơn giản bằng cách đến cuối, biến ngụ ý này được trả về thay thế. Do đó, hàm Boolean
sẽ trả lại False
nếu bạn Exit Function
sớm mà không thực hiện các thay đổi khác, bởi vì đó là giá trị mặc định trong biến được ngụ ý được sử dụng với hàm. Nhưng bạn cũng có thể đặt biến đó thành True
trước tiên nếu bạn muốn và sau đó Exit Function
sẽ làm cho biến đó trở lại True
thay thế.
Những ngày này mọi người thường không sử dụng biến được ngụ ý, nhưng có những tình huống mà tại đó nó có thể giúp bạn tiết kiệm một vài dòng mã mà không tốn bất kỳ thứ gì rõ ràng.
Có thể đây là vấn đề rõ ràng, nhưng điều này hoạt động trong VB vì biến đầu ra của hàm đó được bắt đầu sai và không trả về rõ ràng đó là biến được trả về – annakata
Để rõ ràng, nếu tôi có hàm trả về kiểu dài, 'Exit Function' trả về giá trị mặc định (0). Hơn nữa, nếu, trong 'Hàm Foo() của tôi là Long', tôi' Quay lại Foo', thực ra, tôi đang trả về '0'. Chính xác? Tôi về mặt kỹ thuật có thể thay thế 'Exit Function' bằng' Return Foo'? – MetalPhoenix
Chừng nào bạn chưa thiết rằng chức năng True trước khi bạn thoát khỏi
Bất kể nó có hoạt động hay không (trình biên dịch chỉ đưa ra cảnh báo tham chiếu null), bạn vẫn nên trả về false, nếu chỉ để đọc được.
Câu trả lời thực tế cho câu hỏi vẫn hữu ích nếu bạn muốn _clean up_ sử dụng 'Exit Function' như vậy. – Nyerguds
Tôi luôn thực hiện "Trả về true" hoặc "Trả về False" để thoát phương thức thay vì câu lệnh thoát.
- 1. get_browser() trả về FALSE
- 2. int.TryParse() trả về false cho "#. ##"
- 3. Chức năng trả về giá trị không có lệnh return
- 4. string.matches (". *") Trả về false
- 5. Form vẫn nộp mặc dù chức năng nghe trả về false
- 6. Chức năng jQuery ajax trả về lỗi
- 7. Khi mysql_query trả về false
- 8. isProviderEnabled (LocationManager.NETWORK_PROVIDER) trả về false
- 9. curl_exec() luôn trả về false
- 10. HtmlElement.Parent trả về false parent
- 11. sd.canWrite() luôn trả về false
- 12. event.preventDefault() so với trả về false (không có jQuery)
- 13. Nếu call_user_func có nghĩa vụ trả về false thì sao?
- 14. Python path.exists() trả về False
- 15. PrincipalContext.ValidateCredentials luôn trả về FALSE
- 16. Chức năng PHP trả về hai mảng
- 17. Chức năng trả về biểu thức lambda
- 18. Dictionary.ContainsKey Luôn Trả về False
- 19. chức năng php trả về 0?
- 20. Chức năng C++ trả về const char *
- 21. Chức năng trả về mảng BYTE
- 22. Vb Chức năng trả về null
- 23. PHP Chức năng trả về chuỗi
- 24. chức năng thoát trong chính
- 25. PHP: Is_numeric trả về false trên 0
- 26. Chức năng trả về constexpr không biên dịch
- 27. Biến không được trả về từ chức năng AJAX
- 28. Chức năng xem không trả về một phản hồi
- 29. Chức năng không thành công: Tăng ngoại lệ hoặc trả về FALSE? Cách tiếp cận tốt hơn là gì?
- 30. C++ bool trả về 0 1 thay vì false false
Đây là lý do tại sao tôi không thích VB :) Trong C# trình biên dịch buộc bạn phải trả lại sự bùng nổ. – cjk
Trình biên dịch thực sự cho bạn biết là một cảnh báo (và/hoặc trực quan) nếu bạn không trả lại bất cứ điều gì một cách rõ ràng, tôi không hoàn toàn chắc chắn nếu nó có thể làm cho nó bắt buộc. –