1
Получение ошибки Коллекция была изменена; операция перечисления может не выполняться.Ошибка при удалении элемента из коллекции
var toUpdateItm = MC_CRM_T001A.ItemDetails
.Where(X => X.CatNo == SelectedCRM_T001A.CatNo);
foreach (var itm in toUpdateItm)
{
int x = MC_CRM_T001A.PartDetails.IndexOf(MC_CRM_T001A.PartDetails
.Where(X => X.cat_item_id == itm.id)
.FirstOrDefault()
);
if (x >= 0 && x!=null)
{
MC_CRM_T001A.PartDetails.RemoveAt(x);
}
}
foreach (var itm in toUpdateItm)
{
if (itm.CatNo == SelectedCRM_T001A.CatNo)
{
MC_CRM_T001A.ItemDetails.Remove(itm);
}
}
Вы не можете изменить коллекцию во время итерации по ней! Сделайте как var toUpdateItm = MC_CRM_T001A.ItemDetails.Where (X => X.CatNo == SelectedCRM_T001A.CatNo) .ToList(); –
Должен ли код изменять существующую коллекцию? Вы можете легко создать новую коллекцию только с теми предметами, которые хотите, а затем заменить оригинальную коллекцию на новую коллекцию. –