卸下物品我使用以下代碼:從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
你有例外嗎? –