空の配列はヌル参照の状態とは明確に異なります。 空の配列は、配列の実体を参照しているがその配列にはなにも格納されていない状態になります。 ヌル参照では、配列自体を参照していない状態になります。
空の配列が代入された配列変数とヌル参照の配列変数の違い
Imports System
Class Sample
Shared Sub Main()
Dim arrEmpty As String() = New String() {}
' 空の配列ではプロパティの参照などを行うことができる
Console.WriteLine(arrEmpty.Length)
Dim arrNull As String() = Nothing
' ヌル参照の配列変数ではプロパティの参照などを行うことはできない
Console.WriteLine(arrNull.Length) ' NullReferenceExceptionがスローされる
End Sub
End Class