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