我有这行代码,我只是想知道这行代码确实lambda表达式在XML意味着configuratore
Tracer.Initializer =() => XmlConfigurator.Configure();
是lambda表达式?
我有这行代码,我只是想知道这行代码确实lambda表达式在XML意味着configuratore
Tracer.Initializer =() => XmlConfigurator.Configure();
是lambda表达式?
是的,这是Lambda
与空括号指定零个输入参数:
() => SomeMethod()
lambda表达式是一种匿名函数,可用于创建委托或表达式树类型。通过使用lambda表达式,可以编写可作为参数传递或作为函数调用的值返回的本地函数。 Lambda表达式对于编写LINQ
查询表达式特别有用。
要创建lambda表达式,可以在lambda运算符=>
的左侧指定输入参数(如果有),并将表达式或语句块放在另一侧。例如,lambda表达式(x) => x * x
指定一个名为x的参数并返回x的平方值
请注意,在您的问题中,表达式lambda的主体由方法调用组成。但是,如果要创建在.NET Framework外部评估的表达式树,例如SQL Server
,则不应在lambda表达式中使用方法调用。这些方法在.NET公共语言运行时的上下文之外没有任何意义。
这个lambda表示当调用Tracer.Initializer()
时,将调用XmlConfigurator.Configure()
。
是的,把它想象成一种可以存储在变量中的方法。
您也可以使用参数,如
(A)=> foo.func(一)