C# 删除时,SplistItem.Delete()方法停止

C# 删除时,SplistItem.Delete()方法停止,c#,sharepoint,sharepoint-2007,duplicate-removal,splistitem,C#,Sharepoint,Sharepoint 2007,Duplicate Removal,Splistitem,我创建了一个用于删除重复SPListItem的应用程序。该列表有数千条重复记录。删除项目时(例如,大约在删除1000条记录后)。完成删除过程并显示成功完成消息的应用程序。 我正在附加用于删除项目的代码段 spFormIDCollection = spHistoryList.GetItems(query); if (spFormIDCollection != null && spFormIDCollection.Count &

我创建了一个用于删除重复SPListItem的应用程序。该列表有数千条重复记录。删除项目时(例如,大约在删除1000条记录后)。完成删除过程并显示成功完成消息的应用程序。 我正在附加用于删除项目的代码段

spFormIDCollection = spHistoryList.GetItems(query);
                            if (spFormIDCollection != null && spFormIDCollection.Count > 0)
                                for (int i = 0; i < spFormIDCollection.Count - 1; i++)
                                {
                                    SPListItem listItem = spFormIDCollection[i];
                                    if (listItem != null)
                                        if (Convert.ToString(listItem[Common.NotificationDate]).Equals(Convert.ToString(spFormIDCollection[i + 1][Common.NotificationDate])))
                                            listItem.Delete();

                                }
spFormIDCollection=spHistoryList.GetItems(查询);
if(spFormIDCollection!=null&&spFormIDCollection.Count>0)
for(int i=0;i

我不知道我的代码出了什么问题。如果代码不正确,请解释一下。提前感谢。

您应该将for循环更改为

for (int i = spFormIDCollection.Count - 1; i > -1; i--)

删除项目时,集合计数将减少,循环将提前完成。

您应该将for循环更改为

for (int i = spFormIDCollection.Count - 1; i > -1; i--)

删除项目时,集合计数将减少,循环将提前完成。

是否可以进一步扩展?正在删除这些项目吗?我想你的问题还不清楚,你能进一步扩展吗?正在删除这些项目吗?我认为你的问题不清楚