繁体   English   中英

将lambda表达式作为函数参数传递

[英]Passing lambda expression as function parameter

bool decide(bool x)这样的函数bool decide(bool x)可以作为参数作为functor传递给方法:

foo(Func<bool,bool> lambda)

我们可以使用lambda表达式,如()=>{int x=8; x=x+2;} ()=>{int x=8; x=x+2;}不带任何东西并返回任何东西。 让我说我想将这样的函数作为参数传递给另一个方法bar然后怎么做呢?

这是Action ,而不是Func 如果您不想返回值,则必须使用Action

例如:

Action<int> example1 = (int x) => Console.WriteLine("Write {0}", x);
example1.Invoke(1); // or example1(1);

Action example3 = () => Console.WriteLine("Done");
example3.Invoke(); // or example3();

你会想要一个动作

据推测,除了设置和操作局部变量之外,它还会做更多的工作吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM