lambda表达式是一个匿名函数,可以包含表达式和语句,并可用于创建委托或表达式树类型.
期望使用
del myDelegate = delegate(int x){return x*x; };
int j = myDelegate(5); //j = 25
Run Code Online (Sandbox Code Playgroud)
你可以写
del myDelegate = x => x * x;
int j = myDelegate(5); //j = 25
Run Code Online (Sandbox Code Playgroud)
我认为没有什么时候应该使用它们的一般规则,但如果我自己观察,我倾向于在使用匿名方法时使用它们。大多数情况下,当使用以下命令在新线程中生成一些代码时,会发生这种情况ThreadPool大多数情况下,当使用或在执行 LINQ 查询时
线程池示例:
ThreadPool.QueueUserWorkItem(state => {
// the code to run on separate thread goes here
});
Run Code Online (Sandbox Code Playgroud)
链接:
var myItems = GetSomeIEnumerable()
.Where(o => o.SomeProperty.Equals("some value"));
.OrderBy(o => o.SomeOtherProperty);
Run Code Online (Sandbox Code Playgroud)