如何把方法 函式 當引數傳遞

2022-02-23 12:55:38 字數 1395 閱讀 6044

方法的引數一般是變數,但在某些情況下需要這個引數是另乙個方法,這時就可以參考下面這段**了。這個例子也很好的說明了委託在實際工作中的應用,**片段**於《c#高階程式設計第6版》隨書的示例**。

示例**

1using

system;23

namespace

wrox.procsharp.delegates411

12public

static

double

square(

double

value)

1316}17

1819

delegate

double

doubleop(

double

x);20

21class

mainentrypoint22;

3233

for(

inti =0

; i

<

operations.length; i++)

34]:

", i);

36processanddisplaynumber(operations[i],

2.0);

37processanddisplaynumber(operations[i],

7.94

);38

processanddisplaynumber(operations[i],

1.414

);39

console.writeline();40}

41console.readline();42}

4344

static

void

processanddisplaynumber(doubleop action,

double

value)

45, result of operation is

", value, result);49}

50}51}

52

第19行定義了乙個**型別,第25行例項化了**型別,第29、30行的注釋表示完整的例項化的方式(可以替換掉27、28兩行)。

36   processanddisplaynumber(operations[i],

2.0);

這行就是重點了,呼叫

processanddisplaynumber方法,其中的第乙個引數

operations[i]就是委託型別,用來實現將方法作為乙個引數來傳遞。

46  double

result

=action(value);

這裡的action只是呼叫了委託例項封裝的方法而已。

JS 把函式作為引數傳遞

昨天同事問了我乙個挺有意思的問題,就是js如何把函式當作引數傳進另乙個函式中執行,上網找了乙個並做乙個總結,目前我能理解並正常使用的兩種方法 方法一 func 方法名 str 引數 function test1 func,str else function test2 str 方法二 functio...

如何把函式當成乙個引數傳遞(C )

以最簡單的氣泡排序為例,講述如何把函式當成乙個引數傳遞 方法一 傳遞函式指標 include include using namespace std void bubblesort int beg,int end,bool cmp int x,int y if flag return bool co...

函式當引數傳遞有什麼用

最近和一位同事說下linq,我提到linq裡很多方法表面來看是把原先不怎麼常用的一種技巧正式化了下,就是把函式當引數傳遞,同事有點不理解,或者這樣說,在工作中這有什麼用處.我這裡給出二種簡單比較常用的用法.1.填充多execl去重複 這裡想法比較簡單,也很容易想到,我有時匯出幾份execl時,那麼相...