lambda中的几个陈述

时间:2012-03-28 10:57:49

标签: c# .net lambda

我有以下声明

var evarage = productionreportentry
              .Sum(productionReportEntry => productionReportEntry.Cycletime);

我想在Sum lambda中添加一些日志记录。这可能吗?

2 个答案:

答案 0 :(得分:5)

是的,做一些像:

var evarage = productionreportentry.Sum(productionReportEntry => 
{ 
   Trace.Writeline(productionReportEntry.Cycletime);
   return productionReportEntry.Cycletime;
});

基本上你添加大括号,你需要显式返回lambda运行的值,在这种情况下是Cycletime,它被用作总和的一部分。

答案 1 :(得分:1)

我不确定你真正想要的是什么,但你可以有多个这样的陈述

        var evarage = productionreportentry.Sum(productionReportEntry =>
            {
                CreateLog();
                return productionReportEntry.Cycletime;
            });