¿Por qué double.NaN no es igual a sí mismo?

¿Puede alguien explicarme esto? En C # double.NaN no es igual a double.NaN

bool huh = double.NaN == double.NaN; // huh = false
bool huh2 = double.NaN >= 0; // huh2 = false
bool huh3 = double.NaN <= 0; // huh3 = false

¿Qué constante puedo comparar con un double.NaN y ser verdadero?

Respuestas a la pregunta(11)

Su respuesta a la pregunta