2024-06-11|閱讀時間 ‧ 約 25 分鐘

【中階級】-LINQ介紹

  全名為Language Integrated Query,又稱LINQ,它是什麼呢?用在哪裡呢?其實我對它是很陌生的,因為目前還未使用過覺得它好像蠻重要的應該要學起來,因此透過這次寫Blog方式督促自己學習,那麼接下來就來分享一下我目前對它的了解吧~


一、什麼是LINQ?

它是一個擁有「集合元素進行資料查詢」的技術,直接將此技術整合到C#裡,也就是說對於任何資料型態只要是遇到以下這幾個型別:

1.實作 IEnumerable 介面

2. IEnumerable

3. IQueryable

4. IQueryable 的 Class

皆可以使用LINQ這一個語法去做查詢的,不用針對SQL資料庫、XML文件、Web服務等等不同資料類型去各別學習怎麼查詢資料,只要使用單一個LINQ這個語法就可以進行這些不同資料型態去做查詢了

LINQ架構-1

這是LINQ架構圖,在了解它的過程中這樣的圖很常見到,用簡單的圖式來告訴我們LINQ可以支援查詢的可以分三種來源:

1.物件

2.關聯式資料庫(資料集、資料庫、實體)

3.XML

 

二、何時會使用它?

  當需要做「查詢」的時候,也就是說想要在資料中尋找一個元素或多個元素、對資料做排列或做一些處理(ex:運算)

 

三、怎麼使用它?

首先假設有一組陣列

int[] nArray = { 20, 34, 67, 11, 38, 79 };

接著可以使用LINQ做查詢,會有兩種查詢寫法:

1. 查詢運算式 (Query Expression Syntax) - 類似SQL方式

舉例:

IEnumerable<int>  Result = from  item  in  nArray  where  item < 40 select  item;

 

2. 標準查詢運算子 (Standard Query Operators) - 使用Lambda 表達式

舉例:

IEnumerable<int> Result = nArray.Where(item => item < 40);

 

LINQ主要會用到Where、Select、OrderBy、GroupBy等等,假如Lambda很陌生感覺是不同世界的東西,那可以先學第一種方式做查詢就好,等程式有一定程度的時候,回頭再來熟悉Lambda方式吧~

 

四、實作

Step1 : 建立UI介面

UI 介面


Step2 :使用類SQL方法的程式

使用類SQL方法


Step3:看結果

使用類SQL方法 - 執行結果


Step4:使用Lambda 方法的程式

使用Lambda方法


Step5:執行結果

使用Lambda方法 - 執行結果




參考資料:

1.認識基礎 LINQ | Jenifer.Code.World (jenifers001d.github.io)

2.使用 C# 的 Language Integrated Query (LINQ) - C# | Microsoft Learn

3.LINQ基本介紹:叡揚部落格 (gss.com.tw)

4.所以什麼是LINQ? | 深入探索 LINQ (peterhpchen.github.io)

5.LINQ自學筆記-打地基-認識LINQ - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)

6.LINQ基礎 - 簡介 - HackMD

7.iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)

 

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.