【发布时间】:2012-11-24 17:14:35
【问题描述】:
如果 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;
这是否会产生任何副作用,例如巨大的负面速度影响? 有没有更好的方法来做到这一点?
【问题讨论】:
标签: c# .net linq xelement xattribute