Qualcuno ha informazioni concrete su come C# gestisce i confronti con i tipi Nullable<T>
quando un lato del confronto è nullo?In che modo i tipi nullable gestiscono valori nulli con operatori di confronto?
Come ho capito dalla sperimentazione con il compilatore, sembra che il confronto restituisca sempre false, ma non riesco a trovare alcuna documentazione per eseguire il backup. Si tratta di una vera caratteristica del linguaggio (e quindi qualcosa su cui posso contare), o si tratta di un dettaglio di implementazione che potrebbe cambiare nelle versioni future?
In altre parole, il seguente metodo restituisce true implica y.HasValue
e puoi indicarmi la documentazione che dimostra che lo fa?
public bool foo(int x, int? y)
{
return x < y;
}
Perché dovresti aspettarti che * mai * si confronti uguale a * qualsiasi * valore? –