在c#中嵌套lambda表达式是不是很糟糕?

时间:2013-08-16 19:23:48

标签: c# lambda nested

我使用Windows手机做了很多工作,我发现当你使用多个以不同速度返回并且所有exicute异步的系统时,这是一个挑战。

我提出的处理这个问题的方法之一(效果惊人)是嵌套lambda。它控制着流动的流动并防止竞赛事件,同时也没有锁定UI。我的问题是,虽然没有太多的研究,但我只是在一起。

嵌套多个lambdas不好的做法?有什么负面影响?

假设以下

它不是真正的代码,我把它浇水,这样可以很容易理解,放松

Query.AsyncExicute();

CheckQueryCompletedBagTimer.Tick += (sender1,arg1) =>{

      if(bag.count<=0)
          return;
      else{
         MakeAnotherQuery.Exicute();
         CheckQueryCompletedBagTimer2.Tick += (sender2,arg2) =>{
            //Do some more code

          };

      }
};

CheckQueryCompletedBagTimer.Start();

1 个答案:

答案 0 :(得分:1)

我想说如果嵌套lambda不会影响性能,那么使用它们应该没有问题。

但是如果有一种更直接的方法来实现相同的结果而不嵌套使用它,因为嵌套lambda会影响代码的下划线和可维护性。

在嵌套的lambda表达式之上的//comment清楚地解释你在做什么是必须的(对我来说)