处理XElement null值

zac*_*ary 2 .net linq linq-to-xml

我有一个我正在查询的xml.其中一个节点丢失了.因此,当我调用XElement.Value时,我得到一个null异常.

防范这种情况的最佳方法是什么?我知道我可以写一个扩展方法,但我想知道这个语言有什么东西构建吗?

Man*_*anu 6

使用null coalesce运算符 ??

给出一个XElement元素:

var value = (string)elem ?? "empty";
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的答案,但值得指出的是,重要的一点是,如果输入为空,那么`XElement`对字符串的显式转换将返回null - 而`element.Value`将引发异常. (4认同)