私はこれに対する答えを見つけるためにインターネット全体を検索しました。ネストされた for ループを使用して 2 つのリスト (list1 と list2) をループし、3 つの基準に基づいて最初のリストの重複レコードを削除しています。これら 2 つのリストのすべてのレコードが互いに一致する場合、範囲外エラーが発生します。最初のリストからすべてのアイテムを削除し、最終的に0に減少し、ループするレコードがなく、ifステートメントを配置して最初のリストの数を確認すると発生すると思います(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);
}
}
}
}