String 型の比較をする際に Nothing かまたは空文字かを判定したい場合がよくあると思います。それにこたえるべくして生まれたのが String.IsNullOrEmpty メソッドです。

String.IsNullOrEmpty メソッド - MSDN より引用
指定された String オブジェクトが null 参照 (Visual Basic では Nothing) または Empty 文字列であるかどうかを示します。

 しかし VB を使用している者にとってこのメソッドは必要ありません。なぜなら String.Empty(空文字)と比較(=)することによって、Nothing でも String.Empty でも True を返すためです。

If 文字列 = String.Empty Then
    ' 文字列が Nothing か空文字の場合に True を返す
End If

 ではなぜ String.Empty(空文字)と比較すると String.IsNullOrEmpty メソッドと同じ結果を返すのでしょうか。その答えは MSDN に記載されていました。

比較演算子 (Visual Basic) - MSDN より引用
文字列比較では、Nothing は "" (空白の文字列) として扱います。

 見て字のごとく文字列を比較する際に Nothing は空文字として扱われるためです。そのため Nothing と String.Empty(空文字) は同じという結果になっていたのです! つまり上記のコードは次のようになっているわけです。

If String.Empty = String.Empty Then
End If

 長いことなぜ同じになるんだろう?と疑問におもっていたのですが、やっと解決できてスッキリしました。