我有以下方法,我希望從我的集合中刪除與產品ID匹配的項目。似乎相當直接,但我得到一個例外。基本上我的收藏不同步。那麼從集合中刪除項目的最佳方式是什麼?從通用列表中刪除項目<t>
public void RemoveOrderItem(Model.Order currentOrder, int productId)
{
foreach (var orderItem in currentOrder.OrderItems)
{
if (orderItem.Product.Id == productId)
{
currentOrder.OrderItems.Remove(orderItem);
}
}
}
異常詳細信息:System.InvalidOperationException:集合已被修改;枚舉操作可能不會執行
感謝康拉德,奇怪我不能讓lamda工作。它不識別「x.Product.Id」部分。奇怪的cos以下工作 var query = from currentOrder.OrderItems中的x其中x.Product.Id == productId select x;集合類型是ISet。 – frosty 2010-06-08 09:37:44
好的,我回答了我自己的問題:)我已將此更改爲列表 –
frosty
2010-06-08 09:41:58