簡體   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