LINQ簡記(2) 重要概念

2021-09-08 02:43:07 字數 1370 閱讀 8186

為了能讓初學者更快速地掌握,在系列文章中,我盡可能地避開理論講解,一則對於入門者來說,過多的理論敘述反而會降低大家學習程式設計的興趣,二則,官方文件的資料很詳細,我說了也是廢話。因此,我會盡可能地多舉些簡單的例子,讓初學者能夠看得懂,呵呵,當然了,學習linq,還得有一定c#語法基礎。

一、查詢三步曲。

建立和使用linq,有三個必備的步驟:

1、get——資料從**來?得到資料來源;

2、create——建立查詢表示式,這是核心;

3、execute——執行查詢,並得到相應結果。

好的,我們下面按照這三步來做乙個練習。

1、資料來源,可以來自於資料庫,xml,這裡我們手動建立乙個陣列。

string arrsource = new string ;

2、建立查詢,我們來寫乙個linq表示式,把上面字串陣列中包含字母「t 」的都篩選出來。

ienumerableresult = from s in arrsource where s.contains("t") select s;

3、執行查詢,把結果輸出到「輸出視窗」中。

// 執行 debug.writeline("\n包含「t」的字串有:"); foreach (string item in result)

執行一下程式,你會看到以下結果。

包含「t」的字串有: turn tao ate data

呵呵,怎麼樣?找到感覺了沒?不要緊張,再練乙個。

1、資料來源。

int mysource = new int ;

2、建立查詢。把裡面的偶數篩選出來。

ienumerableresint = from n in mysource where n % 2 == 0 select n;

3、執行查詢。

debug.writeline("陣列中是偶數的:"); foreach (int nn in resint)

最終,我們得到以下結果。

陣列中是偶數的: 26 38 88 120 18 30

二、延遲執行。

你一定會問,linq表示式是在什麼時候執行呢?在宣告查詢變數時,還是在foreach迴圈中?好,我們一起來探索一下。

linq一般是延遲執行,也就是說,到了foreach的時候才被執行,如果要強制執行,可以呼叫toarray等方法,如。

int newvalues = resint.toarray();

這個,很難通過斷點除錯去證實,因為當你在單步跟入時,為了預覽結果檢視,vs已經提前執行了。因此,這個概念我們參閱一下msdn就可以了,也不屬於很重要的內容,重要的我們知道怎麼用它。

下面這張來自微軟官方文件,它展示了linq的整個執行過程。

k8s 2 重要概念

參考 每天5分鐘玩轉kubernetes coldman著。一 概念 1.cluster cluster是計算 儲存和網路資源的集合,k8s使用這些資源執行基於容器的應用 2.master cluster的大腦,主要職責是排程,決定將應用放在 執行。在linux上執行 物理機or虛擬機器 為了高可用...

Python3重要概念

python3 的六個標準資料型別中 不可變資料 3 個 number 數字 string 字串 tuple 元組 可變資料 3 個 list 列表 dictionary 字典 set 集合 number 數字 包括 int float bool complex 複數 listdemo fd 467...

Docker01 重要概念

docker是什麼 docker是以容器技術為核心的一套應用的構建,分發,執行的體系和生態。docker 的優點 對開發和運維來說,最希望的是一次構建或配置,可以在任意地方正常執行。例如 開發者可以使用乙個標準的映象來構建一套開發容器,開發完成之後,運維人員可以直接使 用這個容器來部署 docker...