我当前的项目 (C# 3.5) 有很多这样的代码(elem 是 XElement 的一个实例):
textbox1.Text = elem.Element("TagName") == null ? "" : elem.Element("TagName").Value;
有没有办法在不重复调用 elem.Element() 并且不使用扩展方法的情况下编写相同的东西? 也许使用 lambda? (但我不知道怎么做。)
最佳答案
XElement 具有到 String(和 a bunch of other types)的显式转换,实际上将调用 .Value。 换句话说,你可以这样写:
var value = (String)elem.Element("TagName");
我认为如果实际元素也为 null,这将返回 null
-编辑-
已验证, 这是一个例子:
var x = new XElement("EmptyElement");
var n = (String)x.Element("NonExsistingElement");
n
在此之后将为空。
关于c# - 对 XElement 进行空检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6096205/