【问题标题】:Dealing with XElement null value处理 XElement 空值
【发布时间】:2010-01-13 14:27:14
【问题描述】:

我有一个要查询的 xml。缺少其中一个节点。所以当我调用 XElement.Value 时,我得到一个空异常。

防止这种情况的最佳方法是什么?我知道我可以编写一个扩展方法,但我想知道语言中是否为此内置了一些东西?

【问题讨论】:

    标签: .net linq linq-to-xml


    【解决方案1】:

    使用空合并运算符??

    给定一个XElement elem:

    var value = (string)elem ?? "empty";
    

    【讨论】:

    • 这是正确的答案,但值得指出的是,这里的重要一点是,如果输入为 null,XElement 对字符串的显式转换将返回 null - 而 element.Value 将抛出一个例外。
    • 所以假设 XElement 为空。字符串 myvalue = (string) XElement;会有 myvalue 为空吗?字符串 myvalue = XElement.Value;会抛出异常。字符串 myvalue = (string) XElement ?? “空的”;会给 myvalue 一个“空”的值吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多