c# - 对 XElement 进行空检查

标签 c# xml linq-to-xml

我当前的项目 (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/

相关文章:

c# - 在C#中访问 double 值的 "N bits"?

c# - xml 架构将范围添加到属性和文本 block

c# - 如果没有处理程序,Azure IoT 中心直接方法调用会发生什么情况

c# - Wcf 并行和异步调用?

xml - 如何使用Golang将字符串转换为XML

php - 如何访问 SimpleXML 对象中的这个数字元素?

c# - XDocument 或 XmlDocument

c# - XDocument XPath + Regex 元素定位器

linq - XDocument 生成无效的 XML

c# - 如何删除所有空的 XElements