Tôi cần kiểm tra giá trị DateTime
nếu giá trị đó có giá trị hay không.Cách kiểm tra giá trị DateTime mặc định?
Tôi có một vài lựa chọn:
if (dateTime == default(DateTime))
hoặc
if (dateTime == DateTime.MinValue)
hoặc sử dụng một nullable DateTime?
if (nullableDateTime.HasValue)
Cá nhân tôi muốn phiên bản thứ ba, vì có thể đọc được khá tốt của nó. Nhưng trong cơ sở dữ liệu của chúng tôi, chúng tôi có một số cột datetime được định nghĩa là không rỗng. Vì vậy, trong một số trường hợp, tôi phải đi với hai tùy chọn đầu tiên.
Tôi đọc ở đâu đó rằng từ khóa default
nên được sử dụng khi làm việc với generics, nhưng không phải là nó dễ đọc hơn nhiều trong trường hợp này? Khi sử dụng tùy chọn thứ hai, tôi phải biết rằng giá trị mặc định của một thể hiện DateTime mới và trống là DateTime.MinValue có mùi của một chi tiết thực hiện cho tôi.
Tôi nên sử dụng tùy chọn nào để sử dụng "thực hành tốt nhất"?
Trong câu đầu tiên của bạn sau khi các khối mã, bạn có nghĩa là "phiên bản thứ hai", hoặc bạn có nghĩa là "phiên bản thứ ba"? –
Đã cập nhật nó;) Tôi có nghĩa là phiên bản thứ ba, vì tài sản giải thích rõ ràng những gì tôi định kiểm tra: nếu biến có giá trị – dasheddot
Và điều gì sẽ xảy ra khi bất kỳ điều gì thực sự xảy ra vào ngày đó? – Servy