Func,Action 的介紹及其用法

2021-08-26 05:07:46 字數 1140 閱讀 4626

func是一種委託,這是在3.5裡面新增的,2.0裡面我們使用委託是用delegate,func位於system.core命名空間下,使用委託可以提公升效率,例如在反射中使用就可以彌補反射所損失的效能。

action和func的功能是一樣的,只是action沒有返型別,

func:有引數,有返回型別

action,則既沒有返回也沒有引數,

func的表現形式分為以下幾種:

1。func

2。func

3。func

4。func

5。func

分別說一下各個引數的意義,tresult表示 委託所返回值 所代表的型別, t,t1,t2,t3,t4表示委託所呼叫的方法的引數型別,

以下是使用示例:

funcmyfunc = null;//全部變數

myfunc = x => checkisint32(x); //給委託封裝方法的地方 使用了lambda表示式

private bool checkisint32(int pars)//被封裝的方法

bool ok = myfunc(5);//呼叫委託

msdn:

但是如果我們需要所封裝的方法不返回值,增麼辦呢?就使用action!

可以使用action>

委託以引數形式傳遞方法,而不用顯式宣告自定義的委託。封裝的方法必須與此委託定義的方法簽名相對應。也就是說,封裝的方法必須具有四個均通過值傳遞給它的引數,並且不能返回值。(在 c# 中,該方法必須返回void

。在 visual basic 中,必須通過sub

…end sub

結構來定義它。)通常,這種方法用於執行某個操作。

使用方法和func類似!

msdn:

action:既沒有返回,也沒有引數,使用方式如下:

action action = null;//定義action

action = checkisvoid;//封裝方法,只需要方法的名字

action();//呼叫

總結:使用func和action,action而不使用delegate其實都是為了簡化**,使用更少的**達到相同的效果,不需要我們顯示的宣告乙個委託,func的最後乙個引數始終是返回型別,而action是沒有返回型別的,而action是沒有返回型別和引數輸入的。

Func Action 的區別於說明

一 func func是乙個.net內建的委託。func,func是乙個.net內建的泛型委託。func func func func func 它有5種形式,只是引數個數不同 第乙個是無引數,但是有返回值 下面是乙個簡單的普通委託來傳方法的示例。private delegate string sa...

Bit map介紹及其應用

注 本文參考自 修正了其中的一些問題 感謝原作者 所謂的bit map就是用乙個bit位來標記某個元素對應的value,而key即是該元素。由於採用了bit為單位來儲存資料,因此在儲存空間方面,可以大大節省。如果說了這麼多還沒明白什麼是bit map,那麼我們來看乙個具體的例子,假設我們要對0 7內...

Gulp及其外掛程式介紹

gulp是乙個前端的自動化構建工具,可以完成對前端資源的壓縮 合併 格式化以及版本管理,也可以監聽前端資源的變化去做一些自動化的構建工作 gulp也是乙個基於nodejs的自動任務執行器,所以使用gulp的時候要有一套node的環境,這裡對node的安裝就不再贅述了。結合社群裡好多優秀的gulp外掛...