卸下物品我使用以下代码:从LINQ结果集
var images = from pic in slidePart.Slide.Descendants<DocumentFormat.OpenXml.Presentation.Picture>()
select pic;
foreach (var image in images)
image.Remove();
问题是与其中仅执行一次循环和图像包含多个对象。我如何调用image.Remove所有对象。
卸下物品我使用以下代码:从LINQ结果集
var images = from pic in slidePart.Slide.Descendants<DocumentFormat.OpenXml.Presentation.Picture>()
select pic;
foreach (var image in images)
image.Remove();
问题是与其中仅执行一次循环和图像包含多个对象。我如何调用image.Remove所有对象。
试试这个:
slidePart
.Slide
.Descendants<DocumentFormat.OpenXml.Presentation.Picture>()
.ToList()
.ForEach(pic => pic.Remove());
为什么.ToList()
电话吗?因为你需要确保你不修改你正在迭代的集合。
并且因为'ForEach'不适用于'IEnumerable'。 – davenewza
@davenewza:部分属实。 'ForEach'不可用,但主要原因正如我所描述的。 – Spontifixus
感谢@Spontifixus的帮助,非常好! :) – Ali
尝试'foreach(var images in images.ToList())' –
images.All(i => i.remove()); – Sando
你有例外吗? –