Soy un desarrollador de C#/asp.net y tengo que trabajar en un VB/asp.net. Empecé con VB.NET, pero después de varios años me confundo con la sintaxis.Comparando fecha y hora de NULL en VB.net
que tienen dos variables
Dim originalDate as DateTime?
Dim newDate as DateTime?
Ambos datetimes anulables, originalDate es una fecha anulable que estoy recibiendo de la base de datos y el tiempo NewDate se encuentra en el código, tengo que compararlas, que puede o ambos tienen fechas , tampoco tienen fechas o una tiene y otra no.
que tienen un poco de código de la siguiente manera:
if origEndDate = origEndDate then
Cuando ambos origEndDate y origEndDate son "nada" esta afirmación es falsa (bueno cuando lo ejecuto en la ventana de inspección se vuelve como nada)!
No entiendo por qué este es el caso porque tenía la impresión de que al hacer una "=" se comparan los dos valores y, como son iguales, ¿debería ser así?
¿Alguien puede explicar lo que estoy haciendo mal? Lo sintaxis debo utilizar como en C# que pueda hacer lo anterior como así:
if (origEndDate == origEndDate) { }
y que va a volver como verdadera.
Confused!
¡Gracias por cualquier ayuda!
¿Qué es un NRE? tanto este método como object.equals (originalDate, newDate) funciona ... ¿qué debería estar usando? – Bex
NullReferenceException. Utilizaría este método, ya que utilizará la anulación en el tipo 'Nullable (Of DateTime)', que será más rápido que usar la comparación predeterminada basada en la reflexión de los tipos de valores. – cdhowie
que tiene sentido ..! ¿Pero cómo es que el directo "=" no funciona como lo hace en C# (bueno == en C#)? – Bex