またNaNに対しても同様で、null
/Nothing
はNaNよりも小さいと扱われます。 つまり、小さい順位並べるとnull
< NaN < -∞ < MinValue < 0 の順になります。
ヌル許容の数値型におけるnull、NaN、-∞のソート順序
Imports System
Class Sample
Shared Sub Main()
Dim arr As Double?() = New Double?() { _
0.0, 1.0, -1.0, Nothing, _
double.MinValue, double.NegativeInfinity, double.NaN _
}
Array.Sort(arr)
For Each val As Double? In arr
If val Is Nothing Then
Console.Write("{0}, ", "(Nothing)")
Else
Console.Write("{0}, ", val)
End If
Next
Console.WriteLine()
End Sub
End Class
実行結果
(null), NaN, -Infinity, -1.79769313486232E+308, -1, 0, 1,