Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 匿名方法和lambda表达式之间的区别_C#_.net_Delegates_Lambda - Fatal编程技术网

C# 匿名方法和lambda表达式之间的区别

C# 匿名方法和lambda表达式之间的区别,c#,.net,delegates,lambda,C#,.net,Delegates,Lambda,可能重复: 我同时使用匿名方法和lambda表达式,但除了语法之外,我找不到这些表达式之间的区别。有谁能帮我找出lambda表达式的优点吗?在哪些情况下我需要使用lambdas,在哪些情况下我需要使用匿名方法?它们是相同的;在lambda表达式中,您可以省去方法参数类型的定义,因此它的类型更少 lambda表达式是一种用数学方法定义函数的方法。有一些细微的差别,Eric Lippert解释了这些差别@ 更新: 另一个区别是,Lambda表达式可以表示为表达式树,并且可以在运行时进行解

可能重复:


我同时使用匿名方法和lambda表达式,但除了语法之外,我找不到这些表达式之间的区别。有谁能帮我找出lambda表达式的优点吗?在哪些情况下我需要使用lambdas,在哪些情况下我需要使用匿名方法?

它们是相同的;在lambda表达式中,您可以省去方法参数类型的定义,因此它的类型更少


lambda表达式是一种用数学方法定义函数的方法。

有一些细微的差别,Eric Lippert解释了这些差别@

更新:


另一个区别是,Lambda表达式可以表示为表达式树,并且可以在运行时进行解析。而匿名方法不行。

我能想到的唯一答案是更简单的语法:恐怕它们不是一个。lambda表达式可以编译为表达式树,而匿名类型不能。如果从编译器的角度来看,会有更多的差异。