如何检查JEnumerable列表是否为空

时间:2014-09-22 13:14:55

标签: c# json.net

我将Json反序列化为:

    var tokens = new JEnumerable<JToken>();

    var eventJson = JObject.Parse(json).SelectToken("someJsonXpath", false);

    if(eventJson != null)
        tokens = eventJson.Children();

问题是,当eventJson为null时,令牌对象变为空。我正在尝试检查令牌是否为空。

我试过了

tokens == null
Object.Equals(tokens,null)
tokens.Equals(null)

他们返回 false tokens.Count()返回null引用异常。有没有好办法检查?

1 个答案:

答案 0 :(得分:2)

更改tokens变量的初始化:

var tokens = new JEnumerable<JToken>();

var tokens = JEnumerable<JToken>.Empty;

在此之后,Any()Count()扩展方法不会抛出异常。