[英]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.