linq的基本的概念和優點

2022-09-14 07:57:08 字數 2125 閱讀 4441

一、為什麼要使用linq

首先來看下面乙個例子。假設有乙個整數型別的陣列,找到裡面的偶數並進行降序排序。

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

namespace

linqofselectoperation

;

//定義乙個整數型別的集合,用來存放陣列中的偶數

list list = new list();

//遍歷陣列查詢出偶數放到集合中

foreach (int i in

ints)

}//正序排序

list.sort();

//反轉

list.reverse();

//輸出

console.writeline(string.join(","

,list));

console.readkey();}}

}

使用linq和lambda表示式根據特定條件來查詢陣列,示例**如下:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

namespace

linqofselectoperation

;

//使用linq和lambda表示式查詢陣列中的偶數

int intevens= ints.where(p => p % 2 == 0

).toarray();

//使用linq和lambda表示式查詢陣列中的奇數

int intodds = ints.where(p => p % 2 != 0

).toarray();

//輸出

console.writeline("

偶數:" + string.join(","

, intevens));

console.writeline(

"奇數:

" + string.join(","

, intodds));

console.readkey();}}

}

二、什麼是linq

linq(language integrated query)即語言整合查詢。

linq是一組語言特性和api,使得你可以使用統一的方式編寫各種查詢。用於儲存和檢索來自不同資料來源的資料,從而消除了程式語言和資料庫之間的不匹配,以及為不同型別的資料來源提供單個查詢介面。

linq總是使用物件,因此你可以使用相同的查詢語法來查詢和轉換xml、物件集合、sql資料庫、ado.net資料集以及任何其他可用的linq提供程式格式的資料。

linq主要包含以下三部分:

1、linq to objects      主要負責物件的查詢。

2、linq to xml           主要負責xml的查詢。

3、linq to ado.net   主要負責資料庫的查詢。

三、linq的優勢

1、熟悉的語言:開發人員不必為每種型別的資料來源或資料格式學習新的語言。

2、更少的編碼:相比較傳統的方式,linq減少了要編寫的**量。

3、可讀性強:linq增加了**的可讀性,因此其他開發人員可以很輕鬆地理解和維護。

4、標準化的查詢方式:可以使用相同的linq語法查詢多個資料來源。

5、型別檢查:程式會在編譯的時候提供型別檢查。

7、整形資料:linq可以檢索不同形狀的資料。

索引的基本概念 分類 優點 使用

一 索引的概念 索引就是加快檢索表中資料的方法。資料庫的索引類似於書籍的索引。在書籍中,索引允許使用者不必翻閱完整個書就能 迅速地找到所需要的資訊。在資料庫中,索引也允許資料庫程式迅速地找到表中的資料,而不必掃瞄整個資料庫。二 索引的特點 1.索引可以加快資料庫的檢索速度 2.索引降低了資料庫插入 ...

LINQ的基本用法

1.var q from c in db.customers select c.contactname 這個語句只是乙個宣告或者乙個描述,並沒有真正把資料取出來,只有當你需要該資料的時候,它才會執行這個語句,這就是延遲載入 deferredloading 如果,在宣告的時候就返回的結果集是物件的集合...

linq和lambda基本操作

一 linq有兩種語法 1 方法語法 2 查詢語法 下面舉個例子看看這兩種方法的區別 比如現在有乙個學生類 public class student public int age public string 我們通過乙個方法來新增很多同學 public ilistgetstu int n retur...