我搜索了整个互联网以找到答案。我正在使用嵌套的 for 循环遍历两个列表(list1 和 list2),并根据三个条件删除第一个列表中的重复记录。如果这两个列表中的所有记录都相互匹配,则会出现越界错误。我假设当我从第一个列表中删除所有项目时会发生这种情况,当它最终减少到 0,并且没有任何记录要循环,但是放置一个 if 语句来检查第一个列表的计数(如果 inbox_emails_filtered_contacts. Count > 0) 也无济于事。请让我知道是否有人可以告诉我为什么会出现此错误。
C#.net 中的 Outlook 加载项
for (int i = 0; i < list1.Count; i++)
{
for (int j = 0; j < list2.Count; j++)
{
if (list1.Count > 0)
{
if ((list1[i].username == registered_user)
&& (list1[i].from_email.ToLower() == list2[j].from_email.ToLower())
&& (list1[i].email_subject == list2[j].email_subject)
&& (list1[i].email_timestamp.ToLongDateString() == list2[j].email_timestamp.ToLongDateString()))
{
//Remove the duplicate email from inbox_emails_filtered_contacts
list1.RemoveAt(i);
}
}
}
}