讓Enumerable可以具有each方式的語法。

2022-03-24 08:52:43 字數 1011 閱讀 9015

這兩天剛學linq,發現linq語法中的any,all使用起來比較簡潔。此時想起來js庫中的each語法嗎,確實比較好用。那麼我們能否在c#達到類似的效果呢?經過一陣探索,發現強大的c#確實可以實現。

第一條路,看看有沒有現成的

第二條路:自己實現。

檢視了一下linq中any和all的語法,發現,原來他們都是利用c#本身的特性實現的,其格式如下:

public

static

bool

all(

this

ienumerable

source,

func

bool

> predicate);

public

static

bool

any(

this

ienumerable

source,

func

bool

> predicate);

於是我經過改頭換面,終於實現了我自己的each方法如下,

1public

static

void

each

<

tsource

>

(this

ienumerable

<

tsource

>

source, action

<

tsource

>

execute)27

}這樣,我可以採用each語法了,如下是我的例子:

1trlist.each(tr 

=>

staticrankinfo.add(

newstaticrankrow(tr)));

哈哈,原來如此簡單,以後這就是我就要用這個語法來代替foreach語句了。

其實大家可以實現其它更加花哨的功能。

ps:與日俱進,哈哈,今天學習linq發現其實人家早就有這個語法了,叫foreach。

與日俱進。

讓檔案具有計算能力

讓檔案具有計算能力,可以減輕資料庫吞吐瓶頸 降低資料庫成本 降低資料庫擴容壓力 使資料更易於管理。有很多資料庫之外的檔案都蘊含著結構化資料,比如 文字檔案 excel檔案 日誌檔案 二進位制檔案。為了在應用程式中使用這些結構化資料,一般的作法是先把它們匯入資料庫,利用資料庫的介面計算資料並獲得結果。...

讓物件具有能動性

類的方法 def fun name self pass其中的引數self代表類的例項,在呼叫方法時由系統自動提供 方法定義時必須指明self引數 與普通的函式呼叫類似 在類的內部呼叫 self.方法名 引數列表 在類的外部呼叫 例項名 方法名 引數列表 以上兩種呼叫方法中,提供的引數列表都不用包括s...

讓物件具有能動性

新建模板 小書匠 def fun name self,pass 引數self代表類的例項,在呼叫的時候由系統自動提供 方法定義的時候必須有self引數在類的內部 self.方法名 引數列表 在類的外部 例項名 屬性名 引數列表 呼叫的時候引數列表中都不用包含self 構造方法就是使用 init 方法...