また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,