Câu hỏi đơn giản: Tôi có một vài biến số tăng gấp đôi. Tôi muốn có thể lưu trữ trạng thái "rỗng" trong chúng, tức là tôi cần có khả năng biểu thị rằng biến không chứa dữ liệu hợp lệ. Tôi thực sự không muốn liên kết một biến boolean "là hợp lệ" với mọi double, điều đó sẽ rất xấu và có thể là không cần thiết.Làm thế nào để sử dụng một giá trị null trong một đôi trong VB.Net 2010?
Trước tiên, tôi phát hiện ra rằng người ta phải khai báo các biến khác nhau để cho phép các khái niệm về 'IsNothing' để được kiểm tra, vì vậy tôi làm điều này:
dim someDouble as Double?
(Lưu ý các dấu hỏi). Nếu tôi không khai báo nó như vậy, kiểm tra lỗi sẽ cho tôi thông báo "IsNot yêu cầu toán hạng có các kiểu tham chiếu".
Khi khai báo, thiết lập các biến để ...
someDouble = Nothing
... dường như để thiết lập nó để zero, bởi vì nó không bao giờ chạy mã trong câu lệnh if tôi/khác để kiểm tra xem liệu someDouble IsNot Nothing
. .. đó là xấu bởi vì biến hợp pháp có thể lưu trữ một 0 như là một phần hợp lệ của dữ liệu.
Tôi thiếu gì ở đây? Cảm ơn!
CHỈNH SỬA: Tôi đã bỏ qua rằng tôi đang sử dụng các thuộc tính trong lớp học với các giá trị này là Get
và Set
. Nó chỉ ra tôi đã làm những điều đúng, ngoại trừ tôi để lại loại Property
của tôi như là một Double
thay vì một Double?
vì vậy nó đã được đúc trở lại không thay vì giá trị Nothing
. Tuy nhiên, thông tin hữu ích vẫn nằm trong các câu trả lời bên dưới!
@BalaR, có nó là – Fredou
Aha, đây là bản chất những gì tôi đã làm ... ngoại trừ tôi goofed lên và quên thay đổi * tài sản của tôi * để loại 'đôi?' từ 'Double' để nó được đưa trở lại tiêu chuẩn 'Double' khi thực hiện 'Set'. Argh! Cảm ơn các liên kết! – evilspoons