我有一个函数将XDocument对象作为参数.
我需要循环遍历不同集合中的其他对象,并为其中的每个对象循环,对XDocument执行一些操作.但是lopp的每次迭代都需要原始XDocument的原始文件,该文件传递给该函数.
但是,如果我只是尝试对传入函数的变量执行我的操作,它的行为就像一个指针 – 所以循环的每次迭代都会在最后一次迭代结束时留下的任何状态接收XDocument,所有.
显然,我需要复制Xdocument,但是我看不到这样做的直截了当的方式.试:
XDocument currentServerXml = XDocumentFromFunction.Document():
然后使用currentServerXml而不是XDocumentFromFunction获得与同一个指针相同的副本和相同的行为.
如何为循环的每个迭代创建一个全新的数据副本?
您正在寻找需要XDocument的XDocument
constructor.这将创建传递的XDocument的深层副本.
原文链接:https://www.f2er.com/xml/292232.html示例代码:
var foo_original = XDocument.Load("foo.xml"); var foo_copy1 = new XDocument(foo_original); var foo_copy2 = new XDocument(foo_original);