尝试以下操作时,出现错误“集合已修改;枚举操作可能无法执行。”。如何循环遍历 Zip 条目并更新它们?
using (ZipArchive archive = ZipFile.Open(@"c:\file.zip",ZipArchiveMode.Update))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
archive.CreateEntryFromFile(@"c:\file.txt", entry.FullName);
}
}
在枚举集合时无法更新集合。
您可以转换为 for 循环。
for (int i = 0; i < archive.Entries.Count; i++)
{
archive.CreateEntryFromFile(@"c:\file.txt", archive.Entries[i].FullName);
}
您可能会发现阅读 Enumerators 上的 API 参考很有帮助。
“枚举器可用于读取集合中的数据,但不能用于修改底层集合。”