Ai đó có thể giải thích điều này cho tôi không? Trong C# double.NaN không bằng gấp đôi.NaNTại sao gấp đôi.NaN không bằng chính nó?
bool huh = double.NaN == double.NaN; // huh = false
bool huh2 = double.NaN >= 0; // huh2 = false
bool huh3 = double.NaN <= 0; // huh3 = false
Tôi có thể so sánh hằng số với số double.NaN và nhận được sự thật?
Chỉ cần giải thích những điều bạn đang mắc phải: NaN không bằng gì, thậm chí không phải chính nó. Điều này là theo định nghĩa. http://en.wikipedia.org/wiki/NaN – Falaina
Điều tôi nghĩ là không may là bối cảnh bị mất. Nếu chúng tôi có hai đôi, và cả hai được gán một giá trị của NaN để đại diện cho giá trị thực tế 1/0. Chúng phải bằng nhau, nhưng vì bối cảnh bị mất, chúng được coi là không bằng nhau –
Bạn nói đúng, một dòng mã bổ sung cần phải được triển khai cho trường hợp cụ thể đó. – Carlo