いきなりコード
問題
static void Main(string[] args)
{
var a = /* ここに何かが入ります */;
var b = a;
Console.WriteLine(b == a);
}
さて、aには何が代入されたでしょうか?
|
|
|
|
|
|
|
(これぐらいスクロールすれば大丈夫かな?
|
|
|
|
|
|
|
正解
static void Main(string[] args)
{
var a = double.NaN;
var b = a;
Console.WriteLine(b == a);
}
というわけで、正解はNaN(なん)でした。
(NaNでしょう?NaNでした。ダジャレかよ。
それはさておき、NaNも含めて等しいかを判定するにはEqualsを使いましょう。
static void Main(string[] args)
{
var a = double.NaN;
var b = a;
Console.WriteLine(b.Equals(a));
}
正しく判定できました。