Por que é double.NaN não é igual a si mesmo?

Alguém pode me explicar isso? Em C # double.NaN não é 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

Que constante posso comparar a um double.NaN e se tornar verdade?

questionAnswers(11)

yourAnswerToTheQuestion