无法从 SharePoint 文件集合列表中删除文件
本文关键字:文件 列表 删除 集合 SharePoint | 更新日期: 2023-09-27 18:28:51
我正在开发一个函数,该函数将检查 SharePoint 中的用户文件集合中是否有任何超过一分钟的文件(这将被更改,并且仅将其用于测试(。 但是,当条件为真时,它会删除超过一分钟的文件,但我收到以下异常消息。
System.InvalidOperationException集合已修改。枚举操作可能无法执行。
private static void check_for_deletion(PHT.OneDrive.Helpers.OneDriveHelper oneDrive, string user)
{
FileCollection files = oneDrive.GetOneDriveFilesByFolderName(user);
foreach (var file in files)
{
DateTime creationDate = file.TimeCreated.ToLocalTime();
DateTime currentTime = DateTime.Now;
TimeSpan elapsedTime = currentTime.Subtract(creationDate);
int fileAge = elapsedTime.Minutes;
int maxTime = 1;
if (fileAge > maxTime)
{
file.DeleteObject();
}
}
}
您应该能够在同一个文件集合中完成它,只需向后循环:
for (int fileNum = files.Count-1; fileNum >= 0; fileNum--)
{
//Assign file within the loop
var file = files[fileNum];
DateTime creationDate = file.TimeCreated.ToLocalTime();
DateTime currentTime = DateTime.Now;
TimeSpan elapsedTime = currentTime.Subtract(creationDate);
int fileAge = elapsedTime.Minutes;
int maxTime = 1;
if (fileAge > maxTime)
{
file.DeleteObject();
}
}
修改
foreach
循环中的FileCollection files
。
完成搜索后,创建一个新FileCollection
并将files
的内容复制到此,然后循环访问新。