全名為Language Integrated Query,又稱LINQ,它是什麼呢?用在哪裡呢?其實我對它是很陌生的,因為目前還未使用過覺得它好像蠻重要的應該要學起來,因此透過這次寫Blog方式督促自己學習,那麼接下來就來分享一下我目前對它的了解吧~
它是一個擁有「集合元素進行資料查詢」的技術,直接將此技術整合到C#裡,也就是說對於任何資料型態只要是遇到以下這幾個型別:
1.實作 IEnumerable 介面
2. IEnumerable
3. IQueryable
4. IQueryable 的 Class
皆可以使用LINQ這一個語法去做查詢的,不用針對SQL資料庫、XML文件、Web服務等等不同資料類型去各別學習怎麼查詢資料,只要使用單一個LINQ這個語法就可以進行這些不同資料型態去做查詢了。
這是LINQ架構圖,在了解它的過程中這樣的圖很常見到,用簡單的圖式來告訴我們LINQ可以支援查詢的可以分三種來源:
1.物件
2.關聯式資料庫(資料集、資料庫、實體)
3.XML
當需要做「查詢」的時候,也就是說想要在資料中尋找一個元素或多個元素、對資料做排列或做一些處理(ex:運算)
首先假設有一組陣列
int[] nArray = { 20, 34, 67, 11, 38, 79 };
接著可以使用LINQ做查詢,會有兩種查詢寫法:
舉例:
IEnumerable<int> Result = from item in nArray where item < 40 select item;
舉例:
IEnumerable<int> Result = nArray.Where(item => item < 40);
LINQ主要會用到Where、Select、OrderBy、GroupBy等等,假如Lambda很陌生感覺是不同世界的東西,那可以先學第一種方式做查詢就好,等程式有一定程度的時候,回頭再來熟悉Lambda方式吧~
Step1 : 建立UI介面
Step2 :使用類SQL方法的程式
Step3:看結果
Step4:使用Lambda 方法的程式
Step5:執行結果
參考資料:
1.認識基礎 LINQ | Jenifer.Code.World (jenifers001d.github.io)
2.使用 C# 的 Language Integrated Query (LINQ) - C# | Microsoft Learn
4.所以什麼是LINQ? | 深入探索 LINQ (peterhpchen.github.io)
5.LINQ自學筆記-打地基-認識LINQ - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)
7.iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)