在c#中嵌套lambda表达式是错误的做法
本文关键字:错误 表达式 嵌套 lambda | 更新日期: 2023-09-27 18:27:56
我经常使用windows phone,我注意到当你使用多个以不同速度返回并且都是异步的系统时,这有时是一个挑战。
我想出的处理这个问题的方法之一(效果惊人)是嵌套lambdas。它控制出口的流程,防止比赛事件,同时也不锁定用户界面。我的问题是,我只是一起度过了这段时间,没有做太多研究。
嵌套多个Lambda是不是不好的做法?负面影响是什么?
假设以下
它不是真正的代码,我淡化了它,这样它就可以很容易地理解,放松
Query.AsyncExicute();
CheckQueryCompletedBagTimer.Tick += (sender1,arg1) =>{
if(bag.count<=0)
return;
else{
MakeAnotherQuery.Exicute();
CheckQueryCompletedBagTimer2.Tick += (sender2,arg2) =>{
//Do some more code
};
}
};
CheckQueryCompletedBagTimer.Start();
我想说,如果嵌套lambda不会影响性能,那么使用它们应该没有问题。
但是,如果有一种更直接的方法可以在不嵌套的情况下获得相同的结果,请使用它,因为嵌套lambda会影响代码的理解和维护。
嵌套lambda表达式上方的//comment
清楚地解释了您正在做的事情,这是(对我来说)