【问题标题】:Can't check if a specific object key is null无法检查特定对象键是否为空
【发布时间】:2016-04-06 16:48:37
【问题描述】:

我有这个对象:

var obj = JsonConvert.DeserializeObject<RootObject>(responseText);

现在在某些情况下,反序列化会生成两个密钥:arts 和 det。 det 键甚至被填充,但在某些情况下,键 arts 可能为空。我像这样检查对象内容null:

foreach(var item in obj.det){
   ...
   if(!item.arts.Equal(null)){ 'the problem is here
    ...
   }
}

问题出在条件上,特别是我检查arts 键是否与null 不同,但我得到了这个异常:

NullReference 异常未被管理

我不明白我做错了什么,有人可以启发我吗?

【问题讨论】:

标签: c#


【解决方案1】:

试试

if(item.arts == null){
 // do your checking operation
}

我不确定这是否会导致您的问题,但通常在空对象上调用方法会产生错误。

【讨论】:

  • @nhouser9 是的,似乎工作得很好,谢谢。所以我猜如果对象为空,Equals 方法在这种情况下不起作用。
  • @Sandokan 没问题。一般来说,如果一个对象为空,你就不能调用它的任何一种方法。如果此答案解决了您的问题,请将其标记为解决方案 =)
猜你喜欢
  • 2017-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-11
  • 2014-01-01
相关资源
最近更新 更多