在我的应用程序中,我有一个包含这些项目列表的类:
public class Order
{
(...)
public List<OrderDetailInfo> mListOrderDetail { get; set; }
}
如果形状像这样,还有一个 orderDetail:
public class OrderDetailInfo
{
public int mOrderDetailID { get; set; }
public int mOrderDetailName { get; set; }
(...)
}
在我的应用程序的一个地方,我必须用空的东西填充这个列表。所以我创建了一堆“假”的 orderDetails 对象,它们都有相同的 id:9999。我这样做是因为这个订单需要稍后确认。
准确地说,当这个订单被确认时,我需要根据用户的输入删除一组项目,并用他创建的其他项目替换它们。所以我试着这样做:
for (int i = 0; i < _itemQuantity; i++)
{
var emptyJug = order.mListOrderDetail.SingleOrDefault(
_item => _item.mInventoryID == 9999);
order.mListOrderDetail.Remove(emptyJug);
}
但是当“var emptyJug”行被击中时,该行会崩溃,因为可能会出现很多次。我需要从列表中删除一个单位的 emptyJug,直到达到 _itemQuantity。我怎么能那样做?