Je suis un développeur C#/asp.net et je dois travailler sur un VB/asp.net. J'ai commencé avec VB.NET, mais après des années d'absence, je suis confus avec la syntaxe.Comparer des DateTime nullables dans VB.net
J'ai deux variables
Dim originalDate as DateTime?
Dim newDate as DateTime?
Les deux datetimes nullables, originalDate est une date annulable que je reçois de la base de données et le temps newDate est définie dans le code, je dois les comparer, ils peuvent soit les deux ont des dates , ni ont des dates ou un ont et un pas.
J'ai un peu de code comme suit:
if origEndDate = origEndDate then
Lorsque les deux origEndDate et origEndDate sont « rien » cette affirmation est fausse (bien quand je le lance dans la fenêtre de la montre, il revient comme rien)!
Je ne comprends pas pourquoi c'est le cas parce que j'étais sous l'impression de faire un "=" compare les deux valeurs et comme elles sont les mêmes sûrement il devrait être vrai? Est-ce que quelqu'un peut expliquer ce que je fais mal? Quelle syntaxe dois-je utiliser comme en C# Je peux faire ce qui précède comme tel:
if (origEndDate == origEndDate) { }
et il reviendra comme vrai.
Confus!
Merci pour toute aide!
Qu'est-ce qu'un NRE? à la fois cette méthode et object.equals (originalDate, newDate) fonctionne .. que dois-je utiliser? – Bex
NullReferenceException. J'utiliserais cette méthode, car elle utilisera le remplacement sur le type 'Nullable (Of DateTime)', qui sera plus rapide que la comparaison basée sur la réflexion par défaut des types de valeurs. – cdhowie
qui a du sens ..! Mais comment se fait-il que le "=" ne fonctionne pas comme dans C# (well == in C#)? – Bex