Dan*_*mov 0 c# xelement linq-to-xml xattribute xname
在我们的生产代码中,我看到使用显式XName.Get调用读取XML属性:
var name = element.Attribute (XName.Get ("name"));
Run Code Online (Sandbox Code Playgroud)
我曾经总是将一个字符串传递给Attribute:
var name = element.Attribute ("name");
Run Code Online (Sandbox Code Playgroud)
这更具可读性,但我想知道逻辑或性能是否有任何差异.
没有任何区别.
XName具有隐式转换string这就要求XName.Get.
你可以在源代码中看到这个:
/// <summary>
/// Converts a string formatted as an expanded XML name ({namespace}localname) to an XName object.
/// </summary>
/// <param name="expandedName">A string containing an expanded XML name in the format: {namespace}localname.</param>
/// <returns>An XName object constructed from the expanded name.</returns>
[CLSCompliant(false)]
public static implicit operator XName(string expandedName) {
return expandedName != null ? Get(expandedName) : null;
}
Run Code Online (Sandbox Code Playgroud)