Wie kann ich NULL-Werte vergleichen?

Ich habe ein paar Orte, wo ich brauche, um zu vergleichen 2 (nullable) Werte, um zu sehen, ob Sie gleich sind.

Ich denke, es sollte etwas sein, das framework um dies zu unterstützen, kann aber nichts finden, so ist stattdessen der folgende:

public static bool IsDifferentTo(this bool? x, bool? y)
{
    return (x.HasValue != y.HasValue) ? true : x.HasValue && x.Value != y.Value;
}

Dann innerhalb des Codes habe ich if (x.IsDifferentTo(y)) ...

Dann habe ich ähnliche Methoden für nullable int-Werte, null-Werte zulassen verdoppelt usw.

Gibt es nicht einen einfacheren Weg, um zu sehen, wenn zwei nullable-Typen sind die gleichen?

Update:

Stellt sich heraus, dass der Grund, diese Methode gab es, da der code umgewandelt wurde, von VB.Net, wo Nichts = Nichts gibt false zurück (vergleichen Sie mit C#, wobei null == null gibt true zurück). Die VB.Net code sollte verwendet werden .Equals... statt.

InformationsquelleAutor der Frage David_001 | 2010-02-26

Schreibe einen Kommentar