求教解释C#里该lamda表达式啥意思

2025-05-02 01:56:11
推荐回答(2个)
回答1:

1)接口中定义中定义的LoadTestReport方法

    void LoadTestReport(Action> callback);

这个方法的参数是: Action> callback,即callback是一个

    delegate  void Action(List data)

类型的函数,也就是LoadTestReport方法用一个函数作为它的参数。


2)proxy.LoadTestReport(……)调用接口方法,上面说了,这个函数的参数是一个函数,在这里,用Lamda表达式构造一个匿名函数,用这个匿名函数作为函数的参数

result => 
{
          this.TestReportDatas = result;                   
           _view.LoadingStop();                   
            if (callback != null)
             {   
                callback(); 
             }
}

上面的代码就是一个匿名函数。其中 resut是这个匿名函数的参数,按照1)这个result的类型是List,而函数体为

=>
{
……
}

回答2:

lamda表达式相当于函数委托的简单写法
比如你这个,相当于参数为List,返回值是void的一个函数,result就代表了List参数,=>后面的内容相当于函数体