lambda表达式在xml configuratore中的含义

时间:2015-07-03 18:31:34

标签: c# asp.net-mvc lambda

我有这行代码,我只是想知道这行代码是做什么的

Tracer.Initializer = () => XmlConfigurator.Configure(); 

是lambda表达式吗?

3 个答案:

答案 0 :(得分:3)

是的,它是Lambda,用空括号指定零输入参数:

() => SomeMethod()

lambda表达式是一个匿名函数,可用于创建委托或表达式树类型。通过使用lambda表达式,您可以编写可以作为参数传递或作为函数调用的值返回的本地函数。 Lambda表达式对于编写LINQ查询表达式特别有用。

要创建lambda表达式,请在lambda运算符=>的左侧指定输入参数(如果有),并将表达式或语句块放在另一侧。例如,lambda表达式(x) => x * x指定一个名为x的参数,并返回x平方的值

请注意,在您的问题中,表达式lambda的主体由方法调用组成。但是,如果要创建在.NET Framework外部计算的表达式树,例如在SQL Server中,则不应在lambda表达式中使用方法调用。这些方法在.NET公共语言运行时的上下文之外没有任何意义。

答案 1 :(得分:0)

这个lambda意味着只要调用XmlConfigurator.Configure()就会调用Tracer.Initializer()

答案 2 :(得分:0)

是的,将其视为可以存储在变量中的方法。

您还可以使用

等参数

(a)=> foo.func(a)中