1

次のコードを使用しています。

var images = from pic in slidePart.Slide.Descendants<DocumentFormat.OpenXml.Presentation.Picture>()
             select pic;

foreach (var image in images)
       image.Remove();

問題は、一度だけ実行され、画像に複数のオブジェクトが含まれるループにあります。すべてのオブジェクトで image.Remove を呼び出すにはどうすればよいですか。

4

1 に答える 1

1

これを試して:

slidePart
    .Slide
    .Descendants<DocumentFormat.OpenXml.Presentation.Picture>()
    .ToList()
    .ForEach(pic => pic.Remove());

なぜ.ToList()電話するのですか?繰り返し処理しているコレクションを変更しないようにする必要があるためです。

于 2012-11-20T11:49:19.610 に答える