¿Alguien tiene información concreta sobre cómo C# maneja las comparaciones con los tipos Nullable<T>
cuando un lado de la comparación es nulo?¿Cómo manejan los tipos anulables los valores nulos con los operadores de comparación?
Como entiendo al experimentar con el compilador, parece que la comparación siempre devuelve falso, pero no puedo encontrar ninguna documentación para respaldarlo. ¿Es esta una característica real del lenguaje (y por lo tanto algo con lo que puedo contar), o es este un detalle de implementación que podría cambiar en futuras versiones?
En otras palabras, ¿el siguiente método devuelve verdadero implica y.HasValue
, y puede indicarme alguna documentación que demuestre que lo hace?
public bool foo(int x, int? y)
{
return x < y;
}
¿Por qué esperaría que null * ever * comparase igual a * cualquier * valor? –