【中階級】-LINQ介紹

更新於 2024/06/11閱讀時間約 3 分鐘

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


一、什麼是LINQ?

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

1.實作 IEnumerable 介面

2. IEnumerable

3. IQueryable

4. IQueryable 的 Class

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

LINQ架構-1

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 介面

UI 介面


Step2 :使用類SQL方法的程式

使用類SQL方法

使用類SQL方法


Step3:看結果

使用類SQL方法 - 執行結果

使用類SQL方法 - 執行結果


Step4:使用Lambda 方法的程式

使用Lambda方法

使用Lambda方法


Step5:執行結果

使用Lambda方法 - 執行結果

使用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)

 

avatar-img
21會員
43內容數
Hello~ Welcome to my blog~❤ 這邊會分享我在程式這條道路中的學習與成長, 過程中從而了解自己的不足,再學習。 希望透過分享的方式, 也讓正在學習程式的夥伴們一起學習, 我們一起加油吧~ 「彼此都會成為彼此之間的影響力」(´,,•ω•,,)♡ ❣
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
橙果杏的沙龍 的其他內容
在Visual Studio裡有內建的SQL幫助我們存資料,SQL指的是資料庫,那麼我們就用註冊會員這個例子來看一下怎麼使用內建的SQL吧~ 最後面有寫非常基本的SQL相關語法可以做參考 Step 1:建立資料庫
  在寫程式過程中時常會使用檔案的讀取、建立、寫入與刪除相關使用,因此這篇就來分享圖片檔案、文字檔案、INI的設定檔案的相關使用。
接續上一篇分享跟執行緒相關的內容包含:安全鎖(lock)、號誌(semaphore)、前景與背景執行緒介紹等等。 二、安全鎖(lock)   安全鎖目的是當多個執行緒要執行同一函式時,為了避免同時進行或是影響到變數的值,因此才會有這個機制來保護。「鎖的是區塊」而非資源哦!什麼意思?來看看就
  當我們要使用執行緒的時候,就要引用System.Threading的類別庫,程式才可以使用唷!這篇內容先說明:建立與啟用執行緒、跨執行緒控制UI介面、等待或暫停時間執行緒、共享資源的部分。
  在說執行緒(Thread)時就要先知道什麼是程式(Program)、程序(Process),才能了解什麼是執行緒(Thread),因為它們間都有著神秘的關係與關聯,再更深入一點就又會有多程序(muti-Process)、多執行緒(muti-Thread),我們就先一一說明好了,了解它們後再使用時
  程式在執行的過程中難免會遇到意外的狀況發生,這時該怎麼辦呢?現實生活中我們可能就會去保保險,那麼程式怎麼辦?有一個例外處理try...catch可以幫我們解決這個問題,甚至還可以使用throw可以丟出例外,例外處理部分是可以透過程式的規劃來了解是哪邊出問題的哦!怎麼說呢?我們來看一下例子:
在Visual Studio裡有內建的SQL幫助我們存資料,SQL指的是資料庫,那麼我們就用註冊會員這個例子來看一下怎麼使用內建的SQL吧~ 最後面有寫非常基本的SQL相關語法可以做參考 Step 1:建立資料庫
  在寫程式過程中時常會使用檔案的讀取、建立、寫入與刪除相關使用,因此這篇就來分享圖片檔案、文字檔案、INI的設定檔案的相關使用。
接續上一篇分享跟執行緒相關的內容包含:安全鎖(lock)、號誌(semaphore)、前景與背景執行緒介紹等等。 二、安全鎖(lock)   安全鎖目的是當多個執行緒要執行同一函式時,為了避免同時進行或是影響到變數的值,因此才會有這個機制來保護。「鎖的是區塊」而非資源哦!什麼意思?來看看就
  當我們要使用執行緒的時候,就要引用System.Threading的類別庫,程式才可以使用唷!這篇內容先說明:建立與啟用執行緒、跨執行緒控制UI介面、等待或暫停時間執行緒、共享資源的部分。
  在說執行緒(Thread)時就要先知道什麼是程式(Program)、程序(Process),才能了解什麼是執行緒(Thread),因為它們間都有著神秘的關係與關聯,再更深入一點就又會有多程序(muti-Process)、多執行緒(muti-Thread),我們就先一一說明好了,了解它們後再使用時
  程式在執行的過程中難免會遇到意外的狀況發生,這時該怎麼辦呢?現實生活中我們可能就會去保保險,那麼程式怎麼辦?有一個例外處理try...catch可以幫我們解決這個問題,甚至還可以使用throw可以丟出例外,例外處理部分是可以透過程式的規劃來了解是哪邊出問題的哦!怎麼說呢?我們來看一下例子:
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
高科技的迷湯「一切都是為你好」 今天,要跟各位來談談行動自由的重要性,以及世界深層政府如何利用各種「高科技」來迷惑人民,讓他們自願放棄難能可貴的自由人權。
Thumbnail
就人類心理層面的哲學觀來說,左派代表著理想,右派代表著現實,左派重視邏輯,右派重視經驗,左派追求公平,右派追求自由,左派強調人性的善良面,但忽視人性的本質面,右派則強調人性的現實私利,而忽視過度私利的後果,左派強調利他,右派強調利己。
Thumbnail
今天我們要來談一個全球正在面臨的威脅,那就是共產主義在各先進民主國家的潛伏與侵蝕,你可能會認為共產主義不是早就失敗了嗎? 事實上並非如此,這篇Hank將以歷史脈絡來為大家剖析,共產主義誕生的原因與背景,並闡述統治者如何利用變種的「新型共產主義」瓦解全世界中產階級的陰謀。
Thumbnail
 上一篇我們談到了中產階級可能在不久的未來,會被統治者的「終極殺器」- 人工智慧在極短的時間內被消滅殆盡,那麼這一篇,我們就要來讓你了解,為什麼「統治者」會想要消滅「中產階級」,而又會用什麼樣的方式進行「消滅」?
Thumbnail
【中產階級存亡戰】EP01 你,是中產階級嗎? 你自認為是中產階級嗎?   也許這個問題很多人難以回答,那麼,我換個角度問。   你,是奴隸嗎? 你自認為是奴隸嗎?   我再多問一句。 你,想當奴隸嗎?   這樣問,可能你的答案會明確一點吧
Thumbnail
可能包含敏感內容
片名告訴我們或不告訴我們的,比你想得還多。本片台灣譯為<超速性追緝>,或許是「XX追緝令」的刻意誤導,用詞卻精準拿捏了速度之於激情的性幻想,縱然片中完全沒有任何警匪偵緝的橋段,使人腦補若不是法律又會是怎樣的力量「制裁」這樣的禁忌和悖德;中國片名<慾望號快車>,則或許挪用自名片<慾望街車>,強調車子的
Thumbnail
五年多以前我一腳踏入日本社會創新的圈子,大概看了一圈後,發現所有階級都有社群跟安全網,就是中產階級沒有,所以需要解決中產階級問題是當務之急。
Thumbnail
大概在四年多前,我剛任職於日本社會新創組織NCL與地方政府專案聘員時,意識到自己面臨的問題,是一整個階級的問題。中產階級是一個在心態上相對養尊處優的階級,這篇就跟各位聊聊為什麼中產階級需要自救。
Thumbnail
中產階級倡議1:中產階級是個脆弱的階級,現在貧富差距激化,逐漸消失的中產階級們該何去何從?
Thumbnail
對於投資理財的理解愈深,其實大多數都體現在你對於時間看法的轉變。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
高科技的迷湯「一切都是為你好」 今天,要跟各位來談談行動自由的重要性,以及世界深層政府如何利用各種「高科技」來迷惑人民,讓他們自願放棄難能可貴的自由人權。
Thumbnail
就人類心理層面的哲學觀來說,左派代表著理想,右派代表著現實,左派重視邏輯,右派重視經驗,左派追求公平,右派追求自由,左派強調人性的善良面,但忽視人性的本質面,右派則強調人性的現實私利,而忽視過度私利的後果,左派強調利他,右派強調利己。
Thumbnail
今天我們要來談一個全球正在面臨的威脅,那就是共產主義在各先進民主國家的潛伏與侵蝕,你可能會認為共產主義不是早就失敗了嗎? 事實上並非如此,這篇Hank將以歷史脈絡來為大家剖析,共產主義誕生的原因與背景,並闡述統治者如何利用變種的「新型共產主義」瓦解全世界中產階級的陰謀。
Thumbnail
 上一篇我們談到了中產階級可能在不久的未來,會被統治者的「終極殺器」- 人工智慧在極短的時間內被消滅殆盡,那麼這一篇,我們就要來讓你了解,為什麼「統治者」會想要消滅「中產階級」,而又會用什麼樣的方式進行「消滅」?
Thumbnail
【中產階級存亡戰】EP01 你,是中產階級嗎? 你自認為是中產階級嗎?   也許這個問題很多人難以回答,那麼,我換個角度問。   你,是奴隸嗎? 你自認為是奴隸嗎?   我再多問一句。 你,想當奴隸嗎?   這樣問,可能你的答案會明確一點吧
Thumbnail
可能包含敏感內容
片名告訴我們或不告訴我們的,比你想得還多。本片台灣譯為<超速性追緝>,或許是「XX追緝令」的刻意誤導,用詞卻精準拿捏了速度之於激情的性幻想,縱然片中完全沒有任何警匪偵緝的橋段,使人腦補若不是法律又會是怎樣的力量「制裁」這樣的禁忌和悖德;中國片名<慾望號快車>,則或許挪用自名片<慾望街車>,強調車子的
Thumbnail
五年多以前我一腳踏入日本社會創新的圈子,大概看了一圈後,發現所有階級都有社群跟安全網,就是中產階級沒有,所以需要解決中產階級問題是當務之急。
Thumbnail
大概在四年多前,我剛任職於日本社會新創組織NCL與地方政府專案聘員時,意識到自己面臨的問題,是一整個階級的問題。中產階級是一個在心態上相對養尊處優的階級,這篇就跟各位聊聊為什麼中產階級需要自救。
Thumbnail
中產階級倡議1:中產階級是個脆弱的階級,現在貧富差距激化,逐漸消失的中產階級們該何去何從?
Thumbnail
對於投資理財的理解愈深,其實大多數都體現在你對於時間看法的轉變。