Я разработчик C#/asp.net, и мне приходится работать на VB/asp.net. Я начал с VB.NET, но через несколько лет от него я запутался в синтаксисе.Сравнение нулевых значений DateTime в VB.net
У меня есть две переменных
Dim originalDate as DateTime?
Dim newDate as DateTime?
Оба NULLABLE DateTimes, originalDate является обнуляемой датой я получаю из базы данных и newDate время устанавливается в коде, мне нужно, чтобы сравнить их, они могут либо оба имеют даты , ни даты, ни один нет, а другой нет.
У меня есть немного кода следующим образом:
if origEndDate = origEndDate then
Когда оба origEndDate и origEndDate не «ничего» это утверждение ложно (ну, когда я запускаю его в окне просмотра он возвращается в ничто)!
Я не понимаю, почему это так, потому что я был под впечатлением, делая «=», сравнивая эти два значения, и поскольку они одинаковы, это должно быть верно?
Может кто-нибудь объяснить, что я делаю неправильно? Какой синтаксис я должен использовать, как в C#, я могу сделать это так:
if (origEndDate == origEndDate) { }
и он вернется как истинный.
Confused!
Спасибо за помощь!
Что такое NRE? как этот метод, так и object.equals (originalDate, newDate) работает .., который я должен использовать? – Bex
NullReferenceException. Я бы использовал этот метод, так как он будет использовать переопределение типа 'Nullable (Of DateTime)', которое будет быстрее, чем использование сравнения типов значений по умолчанию. – cdhowie
это имеет смысл ..! Но почему прямой «=» не работает, как в C# (ну == в C#)? – Bex