我學習,我記錄 linq where

2022-01-12 17:28:39 字數 1044 閱讀 9411

需求: 乙個集合中篩選出符合條件的。

思路是定義乙個,迴圈集合中變數,判斷是否符合條件,新增到新的集合

var list1 = new list();

foreach (int i in

list)

}//帥選集合中元素小於222的

var list2 = new list();

foreach(int x in

list)

}

view code

思考: 需求不同,支援判斷是否符合條件這個步驟是變化的,其餘的都是不變的。

將可變的邏輯抽出,用委託封裝,接收乙個引數,返回乙個bool

public

static list newwhere(list items, funcfunc)

return

list;

}

擴充套件方法:定義在靜態中的靜態方法中,第乙個引數型別前加上this關鍵字的方法,即為該型別的擴充套件方法,顧名思義,給該型別增加乙個方法

如上例中,給list增加乙個篩選方法,

public

static list newwhere(this listitems,

func

func)

return

list;

}//呼叫

var iresult = list.newwhere(p => p > 0);

假設這個方法不只是要給list用

///

接受乙個委託,乙個ienumerable 型別的引數

/// ///

//////

///public

static ienumerablenewwhere(

this ienumerableitems, funcbool>func)

}return

list;

}

我學習我記錄,linq-where 的本質。

總結,在動手之前,想想怎麼做,分到聚體的步驟,抽出相同的邏輯步驟一層層封裝。

我的學習記錄7

2017.10.17 李錦浩 第07天 1 今天完成了昨天未完成的程式,並且除錯成功,目前 沒有發現有什麼問題,但對於程式的高效簡潔性來說我覺得我做的還是不夠,還需要繼續努力。2 今天還自學了函式的呼叫和自定義,對於函式中的返回值及函式的部分呼叫機制理解並能夠運用。附 昨天的程式完成版 includ...

我的學習記錄25

2017.11.4李錦浩 第25天 今天做了乙個百貨公司的程式,將固定 輸入陣列,然後輸出相應公司的營業額。我盡量利用了從前學的關於陣列的知識,運用了一下偏移量來表示陣列。附 百貨公司 include using namespace std int main int b 3 cout 請輸入1 2 ...

我的學習記錄29

2017.11.08 李錦浩 第29天 今天學習了關於位運算的符號認識,了解了大部分位運算的內涵。另外我也弄明白了如何利用掩碼來確定乙個二進位制數的 方式。今天還利用前面所學,做了乙個隨機計算器的公升級版程式。附 隨機計算器 公升級版 pragma once include include incl...