【发布时间】:2017-05-22 07:36:47
【问题描述】:
我有两个列表,一个来自用户输入,另一个来自数据库。我想检查用户是否在数据库列表中输入了一个字符串,因此从用户输入的列表中删除该字符串。我试过下面的代码
foreach (string name in listOfStudentName)
{
if(_studentsInDatabase.Count > 0)
{
foreach (string nameFromDatabase in _studentsInDatabase)
{
If (name == nameFromDatabase)
{
listOfStudentName.RemoveAll(item => item == name);
break;
}
}
}
}
此代码仅删除两个列表中的第一个元素,然后引发异常System.InvalidOperationExceptiom: 'Collection was modified; enumeration may not execute.
我应该补充一点,我需要能够在删除每个重复项时通知用户,例如,在每次删除重复项后显示一个消息框“name1 was removed”。
【问题讨论】: