创建特定的lambda表达式

时间:2014-04-30 07:56:25

标签: c# lambda

我已经在这段代码上工作了一段时间,而且在这一点上我很慢。我不知道答案是否明显,但我还没有想到一种方法来转换这一点:

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。

任何帮助都会很热

谢谢!

2 个答案:

答案 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);    
 }