Mam kilka miejsc, w których muszę porównać 2 (wartości zerowe), aby sprawdzić, czy są takie same.Jak porównać typy nullable?
myślę, że powinno być coś w ramach wspierania tego, ale nie mogę znaleźć nic, więc zamiast tego są następujące:
public static bool IsDifferentTo(this bool? x, bool? y)
{
return (x.HasValue != y.HasValue) ? true : x.HasValue && x.Value != y.Value;
}
Następnie kodem mam if (x.IsDifferentTo(y)) ...
Potem mają podobne metody dla zerowych int, dublerów podwójnych itp.
Czy nie ma prostszego sposobu sprawdzenia, czy dwa typy zerowania są takie same?
Aktualizacja:
Okazuje się, że powodem tego była metoda istniała, ponieważ kod został przekształcony z VB.NET, gdzie nic = Nic nie zwraca false (w porównaniu do C# gdzie null == null zwraca true) . Kod VB.Net powinien był zamiast tego użyć .Equals...
.
trochę późno na to, ale uważam, że zmiana użyteczne. wpadł na ten sam scenariusz –