我已经在这段代码上工作了一段时间,而且在这一点上我很慢。我不知道答案是否明显,但我还没有想到一种方法来转换这一点:
foreach (Item i in stockList)
{
if (i == order.OrderItem)
i.ChangeStock(order.NumberOfItems);
}
outStandingOrders.Remove(order);
进入lambda表达式。我能想到的最好的是
stockList.ForEach(i => i == order.OrderItem)
(不知道从哪里开始)
stockList中只有一个项目等于order.OrderItem。
任何帮助都会很热
谢谢!
答案 0 :(得分:4)
stockList.FindAll(i => i == order.OrderItem)
.ForEach(i => i.ChangeStock(order.NumberOfItems));
未经测试,只需输入^^
答案 1 :(得分:4)
根据您的信息“stockList中只有一个项目等于order.OrderItem”,我会简单地写一下:
var item = stockList.FirstOrDefault(i => i == order.OrderItem);
if (item != null)
{
item.ChangeStock(order.NumberOfItems);
}