Tengo algunos lugares en los que necesito comparar 2 valores (anulables) para ver si son iguales.¿Cómo comparar tipos que aceptan nulos?
Creo que debe haber algo en el marco de apoyo a esto, pero no puedo encontrar nada, así que en vez tener lo siguiente:
public static bool IsDifferentTo(this bool? x, bool? y)
{
return (x.HasValue != y.HasValue) ? true : x.HasValue && x.Value != y.Value;
}
Luego, en el código que tengo if (x.IsDifferentTo(y)) ...
que entonces tienen métodos similares para entradas anulables, dobles que se pueden nulos, etc.
¿No hay una manera más fácil de ver si dos tipos que aceptan nulos son los mismos?
Actualización:
Resulta que la razón existía este método se debía a que el código se ha convertido de VB.Net, donde nada = Nada devuelve falso (en comparación con C# donde nula == null devuelve verdadero) . El código VB.Net debería haber usado .Equals...
en su lugar.
poco tarde en esto, pero me encontré con la actualización de utilidad. se encontró con el mismo escenario –