Ich muss einen Vergleich zwischen einem Objekt und NULL durchführen. Wenn das Objekt nicht NULL ist, fülle ich es mit einigen Daten.
Hier ist der Code:
if (region != null)
{
....
}
Dies funktioniert, aber wenn Schleife und Schleife irgendwann die Region Objekt ist NULL (ich kann Daten innerhalb es im Debug-Modus sehen). Im Schritt-für-Schritt-Debugging geht es nicht innerhalb der IF-Anweisung... Wenn ich einen Quick Watch mit dem folgenden Ausdruck ausführe, sehe ich, dass (region == null) false zurückgibt, UND (region != null) ebenfalls false zurückgibt... warum und wie?
Update
Jemand hat darauf hingewiesen, dass das Objekt == und != überladen wurde:
public static bool operator ==(Region r1, Region r2)
{
if (object.ReferenceEquals(r1, null))
{
return false;
}
if (object.ReferenceEquals(r2, null))
{
return false;
}
return (r1.Cmr.CompareTo(r2.Cmr) == 0 && r1.Id == r2.Id);
}
public static bool operator !=(Region r1, Region r2)
{
if (object.ReferenceEquals(r1, null))
{
return false;
}
if (object.ReferenceEquals(r2, null))
{
return false;
}
return (r1.Cmr.CompareTo(r2.Cmr) != 0 || r1.Id != r2.Id);
}