Быстрый вопрос, самым быстрым и легким ответом может быть переупорядочение связанного кода, но пусть видит...
Итак, у меня есть оператор If (фрагмент кода, который является частью полного рабочего решения, написанного на С#), переписанного с использованием VB.NET. Я знаю, что метод VB.NET IIf(a, b, c) оценивает как b, так и a независимо от истинности первой оценки, но это также имеет место и в моей стандартной конструкции:
If (example Is Nothing Or example.Item IsNot compare.Item) Then
'Proceed
End If
Или, скорее, более правильно:
If (example Is Nothing Or Not example.Item = compare.Item) Then
'Proceed
End If
Здесь, если example - Nothing (null), то я все равно получаю NullReferenceException - это моя ошибка, или это то, что мне просто нужно терпеть по прихоти VB.NET?