MyMap.Layers.LayersInitialized += (evtsender, args) =>
            {
                MyMap.ZoomTo(NewTiledLayer.InitialExtent);
            };在silverlight中看到了如上这是什么意思,我以前没遇到过.

解决方案 »

  1.   

    C# 3.0 语法支持的 Lambda表达式(λ表达式)为类型 MyMap.Layers 的事件 LayersInitialized 添加一个事件处理程序,该事件处理程序有两个参数 (evtsender, args),该事件处理程序的方法体为{
        MyMap.ZoomTo(NewTiledLayer.InitialExtent);
    };
    这段代码等效于 C# 2.0 语法中的{
        MyMap.Layers.LayersInitialized += Layers_LayersInitialized;
        ......
    }public void Layers_LayersInitialized(object sender, EventArgs e)
    {
        MyMap.ZoomTo(NewTiledLayer.InitialExtent);
    }
      

  2.   

    Lambda表达式本质上还是匿名方法,它的一般形式是:
    (input parameters) => expression左侧是参数列表,=>右侧是方法体,可以是一个表达式(expression lambda),也可以是大括号括起来的语句段(statement lambda)。它省略了delegate关键字,使得代码更加紧凑。
    如同
    System.Timers.Timer timersTimer = new System.Timers.Timer();
                timersTimer.Elapsed +=
                    delegate(object sender, System.Timers.ElapsedEventArgs e)
                    {
                       
                    };