В приведенном ниже коде:
dim stringX As String
If(stringX <> someOtherString) Then
'Do Stuff
End If
Значение stringX никогда не будет установлено, поэтому оно никогда не получит новое значение.
Is If(stringX <> someOtherString)
равно If(someOtherString IsNot Nothing)
или If(Not Sting.IsNullOrEmpty(someOtherString)
Насколько я понимаю, первый вариант сказал бы, что someOtherString = String.Empty
- правда, а другой - нет.
Но <> сказал бы, что String = Nothing <> String = String.Empty имеет значение true или false.
(это VB. NET не VB6)