Согласно отладчику, у меня есть переменная с именем myCancelled
типа Newtonsoft.Json.Linq.Jtoken со значением Nothing. Я также передал его объекту, и все эти условия терпят неудачу. Мой вопрос просто: как я могу проверить, нет ли это/Null/False/Empty?Проверьте, не является ли Newtonsoft.Json.Linq.JToken
Вот что я пробовал. Ни одно из этих условий не соответствует действительности:
If myCancelled Is Nothing Then
'Doesn't come here
End If
If myCancelled = DBNull.Value.ToString Then
'Doesn't come here
End If
If myCancelled = "null" Then
'Doesn't come here
End If
If IsDBNull(myCancelled) Then
'Doesn't come here
End If
If myCancelled Is DBNull.Value Then
'Doesn't come here
End If
If String.IsNullOrEmpty(myCancelled) = True Then
'Doesn't come here
End If
If myCancelled.ToString = "Nothing" Then
'Runtime error
End If
If myCancelled = DBNull.Value Then
'Runtime error
End If
If IsNothing(myCancelled) Then
'Doesn't come here
End If
Я новичок в VB.net, поэтому любые указатели оцениваются.
EDIT
Это один работал, но он позволяет ложноположительных через (когда myCancelled имеет это значение, условное верно)
If Not myCancelled Then
' It comes here
End If
Любая идея, почему «Y» была правильной равной проверкой, когда Nothing не является фактическим значением? – ErikBrandsma
Возможно, метод Equals() обрабатывает Nothings так, как я хотел. Оглядываясь назад, это могло быть лучшим решением: https://stackoverflow.com/questions/378225/how-to-check-for-null-value-in-vb-net – chakeda