2015-12-17 2 views
0

Согласно отладчику, у меня есть переменная с именем 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 

ответ

1

Это то, что работает. VB трудно узнать, когда вы привыкаете к Java, C# и т. Д.

If Not myCancelled.Equals("Y") Then 
    ' It finally came here 
End If 
+0

Любая идея, почему «Y» была правильной равной проверкой, когда Nothing не является фактическим значением? – ErikBrandsma

+0

Возможно, метод Equals() обрабатывает Nothings так, как я хотел. Оглядываясь назад, это могло быть лучшим решением: https://stackoverflow.com/questions/378225/how-to-check-for-null-value-in-vb-net – chakeda

Смежные вопросы