我已经解析了Json的回复:
string url = "http://words.bighugelabs.com/api/2/API KEY/" + word.ToString() + "/json";
并将其存储在名为sbb的字符串中。 然后我将sbb存储在动态对象中,以便检索给定单词的特定信息,例如名词。因为它每次都返回有关单个单词的信息。
dynamic foo = JObject.Parse(sbb);
var ant = foo.adjective.ant;
但是在foo之后它并不总是遵循形容词它可能是名词或其他东西,所以当我试图看看var是否为null时,我有错误信息。我该怎么做才能检查哪个案例为空? 4例是:
foo.adjective.ant; foo.noun.ant; foo.adverb.ant; foo.verb.ant;
答案 0 :(得分:1)
像
一样进行防御null
检查
if(foo != null && foo.adjective != null)
如果您使用的是C#6,那么您也可以使用空传播运算符?
,如
if(foo?.adjective != null)
答案 1 :(得分:0)
怎么样:
var ant = foo.adjective != null ? foo.adjective.ant :
(foo.noun != null ? foo.noun.ant :
(foo.adverb != null ? foo.adverb.ant :
(foo.verb != null ? foo.verb.ant : null)));