在一些情况下,有些函数在程序中只会被一处地方引用或使用,况且这些函数的内容或逻辑并不复杂,那么这样的函数被过多的定义时,会显得冗余。
那么一种优化方法是使用lambda表达式,在linq2sql中大量使用了这种表达式。
lamda表达式是一种匿名函数,所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。
下面是一个小例子,直接上代码:
一般的用法:
private DispatcherTimer m_Timer;
public void DelayExecute()
{
m_Timer = new DispatcherTimer();
m_Timer.Tick += OnTimerFinished;
m_Timer.Interval = TimeSpan.FromSeconds(1);
m_Timer.Start();
}
private void OnTimerFinished(object sender, EventArgs e)
{
m_Timer.Stop();
// TODO: 时间到期后的处理代码
}
使用lambda后可以改为:
public void DelayExecute()
{
DispatcherTimer timer = new DispatcherTimer();
timer.Tick += (s, e) =>
{
timer.Stop();
// TODO: 时间到期后的处理代码
};
timer.Interval = TimeSpan.FromSeconds(1);
timer.Start();
}