我正在尝试确定XML节点属性是否存在。这是我的代码:

var xmlNode = element.Attributes("parent");
if (xmlNode != null) // Expression is always true
{
    var parentNodeId = element.Attribute("parent").Value;
    if (groupables.ContainsKey(parentNodeId))
    {
        parent = groupables[parentNodeId];
    }
}

resharper告诉我,我检查xmlnode是否为空的行将始终为true。为什么?我正在解析一个xml文件,其中一些节点包含“parent”作为属性。有些人没有。那么为什么resharper会有不同的想法呢?

最佳答案

因为Attributes将返回一个0长度的列表,该列表从不为空

09-28 01:48