C 3 0 初步認識LINQ

2021-04-20 05:58:21 字數 1546 閱讀 2048

linq基本概念:

linq(language integrated query)是language integrated query的簡稱,它是整合在.net程式語言(例如:c#、vb.net等)中的一種特性,目的是為.net framework提供更加通用和便利的資訊查詢方式,並且它對資料來源提供了廣泛的支援,而不僅僅侷限於關係型資料庫和xml。

linq 提供了一條更常規的途徑即給 .net framework 新增一些可以應用於所有資訊源( all sources

of information )的具有多種用途( general-purpose )的語法查詢特性( query facilities ),這是比

向開發語言和執行時( runtime )新增一些關係資料( relational )特性或者類似 xml 特性( xm

l-specific )更好的方式。這些語法特性就叫做 .net language integrated query (linq) 。

包含 dlinq 和 xlinq.

語法例項:

c#3.0 linq 查詢語法

首先來看乙個很簡單的linq查詢例子,查詢乙個int 陣列中小於5的數字,並按照大小順序排列:

class program

; var m = from n in arraywhere n < 5 orderby n select n;

foreach (var n in m)

console.readline();}}

上述**除了linq查詢語法外,其他都是我們所熟悉的語法,而linq查詢語法跟sql查詢語法很相識,除了先後順序。

在上面的程式中我們看到 var 關鍵字,這是2008中的特性之一,隱含型別區域性變數(local variable type inference) 順便介紹一下吧:

先看乙個簡單的例子:

var i =25;//int

var j = 1223.56;//double

var k = "hello";//string

var為關鍵字,可以根據後面的初始化語句自動推斷型別,這個型別為強型別。

初始化語句必須為表示式,不可以為空。且編譯時可以推斷型別。一旦初始化之後,只可以儲存這種型別.

看到這你應該明白了吧,給我的感覺就像 泛型一樣,

有人就會問為何 linq 查詢語法是以 from 關鍵字開頭的,而不是以 select 關鍵字開頭的?select 開頭這種寫法跟sql的寫法更接近呢?簡單來說,為了ide的智慧型感知(intelisence)這個功能,select 關鍵字放在後面了。

程式語言以 select 開頭寫linq查詢語法不是沒出現過, select 關鍵字在前面,在做智慧型感知(intelisence)時候就很頭大。經過微軟ide組的權衡,確定了把 from 關鍵字放在最前面。

我們在寫到 p in persons 之前,p 的型別是無法推測的,所以寫 select p. 的時候,name之類的屬性不會彈出智慧型提示來。

這樣就需要先去寫 from 這句,再回來寫 select。

所以不如就把 select 寫到後面了。於是程式語言中的寫法就確定這樣來寫了。

linq 初步認識

linq如果不能用的話 重灌一下vs就好了 linq,語言整合查詢 language integrated query 是一組用於c 和visual basic語言的擴充套件。它允許編寫c 或者visual basic 以查詢資料庫相同的方式操作記憶體資料。是一種高整合化的資料庫訪問技術。他與ado...

C 3 0新特性 linq相關

隱含型別區域性變數 var age 26 var username zhuye var userlist new foreach var user in userlist console.writeline user 純粹給懶人用的var關鍵字,告訴編譯器 對於clr來說,它是不會知道你是否使用了v...

C 3 0 入門系列 linq (一)

談到dlinq 就不得不先說linq 讓我們先看看什麼是linq linq 是language integrated query 的縮寫。那麼事實上dlinq 就是database language integrated query 的縮寫。linq 和dlinq 最大的區別就在與linq 是對記憶...