我现在正在学习,XmlDocument但我刚刚遇到XDocument,当我试图搜索他们的差异或好处时,我找不到有用的东西,你能告诉我为什么你会使用一个而不是另一个吗?
在与同事讨论了在C#3中使用'var'关键字后,我想知道人们对通过var的类型推断的适当用途有什么看法?
例如,我在可疑情况下懒得使用var,例如: -
foreach(var item in someList) { // ... } // Type of 'item' not clear.
var something = someObject.SomeProperty; // Type of 'something' not clear.
var something = someMethod(); // Type of 'something' not clear.
Run Code Online (Sandbox Code Playgroud)
var的更合理用途如下: -
var l = new List<string>(); // Obvious what l will be.
var s = new SomeClass(); // Obvious what s will be.
Run Code Online (Sandbox Code Playgroud)
有趣的是LINQ似乎有点灰色,例如: -
var results = from r in dataContext.SomeTable
select r; // Not *entirely clear* what results will be …Run Code Online (Sandbox Code Playgroud) 如何从XDocument获取NameTable?
它似乎没有XmlDocument具有的NameTable属性.
编辑:从缺乏答案来判断,我猜我可能会忽略这一点.
我正在对像这样的XDocument进行XPath查询...
document.XPathSelectElements("//xx:Name", namespaceManager);
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我必须手动将我想要使用的命名空间添加到XmlNamespaceManager,而不是像使用XmlDocument一样从XDocument中检索现有的命名表.