如果 XElement 上的 XAttribute 不存在,是否有更简单/更好的方法来返回默认值?:
我试图用更短的方式写这个(因为它是一个两行):
var a = root.Attribute("testAttribute");
var v = (a == null ? "" : a.Value);
我的方法:通过扩展方法:
public static XAttribute Attribute(this XElement obj, string name, string defaultValue)
{
if (obj.Attribute(name) == null)
return new XAttribute(name, defaultValue);
return obj.Attribute(name);
}
var v = root.Attribute("testAttribute", "").Value;
这会产生任何副作用,例如巨大的负面速度影响吗?有没有更好的方法来做到这一点?