溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

LINQ查詢操作的問題怎么解決

發(fā)布時(shí)間:2021-12-02 09:12:51 來源:億速云 閱讀:127 作者:iii 欄目:編程語言

這篇文章主要介紹“LINQ查詢操作的問題怎么解決”,在日常操作中,相信很多人在LINQ查詢操作的問題怎么解決問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”LINQ查詢操作的問題怎么解決”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

語言集成查詢 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中一項(xiàng)突破性的創(chuàng)新,它在對(duì)象領(lǐng)域和數(shù)據(jù)領(lǐng)域之間架起了一座橋梁。

傳統(tǒng)上,針對(duì)數(shù)據(jù)的查詢都是以簡(jiǎn)單的字符串表示,而沒有編譯時(shí)類型檢查或 IntelliSense 支持。此外,您還必須針對(duì)以下各種數(shù)據(jù)源學(xué)習(xí)不同的查詢語言:SQL 數(shù)據(jù)庫、XML 文檔、各種 Web 服務(wù)等。LINQ 使查詢成為 C# 和 Visual Basic 中的一等語言構(gòu)造。您可以使用語言關(guān)鍵字和熟悉的運(yùn)算符針對(duì)強(qiáng)類型化對(duì)象集合編寫查詢。用 C# 語言編寫的、不完整的 LINQ 查詢,該查詢針對(duì) SQL Server 數(shù)據(jù)庫,并具有完全類型檢查和 IntelliSense 支持。

LINQ查詢操作由以下三個(gè)操作組成:

1、獲取數(shù)據(jù)源:支持泛型 IEnumerable(Of (T)) 接口的所有對(duì)象都可以作為L(zhǎng)INQ的數(shù)據(jù)源,包括Array、List等。

2、創(chuàng)建查詢:指定要從數(shù)據(jù)源中檢索的哪些信息,還可以指定在返回這些信息之前如何對(duì)其進(jìn)行排序、分組或結(jié)構(gòu)化。創(chuàng)建(定義)的查詢通常存儲(chǔ)在變量中,并不會(huì)在定義時(shí)馬上執(zhí)行而是在以后執(zhí)行。所以記?。翰樵冏兞勘旧聿粫?huì)執(zhí)行任何操作,也不會(huì)返回任何數(shù)據(jù),它只是存儲(chǔ)查詢定義。

3、執(zhí)行查詢:執(zhí)行查詢有兩種情況,1是延遲執(zhí)行;2是立即執(zhí)行。

3.1、延遲執(zhí)行:查詢定義并保存在查詢定義變量后,不馬上執(zhí)行,而是在后續(xù)需要時(shí)才執(zhí)行。這通常需要使用 For Each 循環(huán)(它返回值序列)或應(yīng)用標(biāo)準(zhǔn)查詢運(yùn)算符。對(duì)于值序列,可使用 For Each 循環(huán)中的迭代變量(在上一個(gè)示例中為 number)訪問所檢索的數(shù)據(jù)。

3.2、立即執(zhí)行:在立即執(zhí)行過程中,查詢?cè)诙x時(shí)執(zhí)行。當(dāng)應(yīng)用需要訪問查詢結(jié)果的各個(gè)元素的方法時(shí),就會(huì)觸發(fā)執(zhí)行。通常使用能夠返回單個(gè)值的標(biāo)準(zhǔn)查詢運(yùn)算符之一來強(qiáng)制立即執(zhí)行。Count、Max、Average 和 First 就屬于標(biāo)準(zhǔn)查詢運(yùn)算符。只要應(yīng)用了這些標(biāo)準(zhǔn)查詢運(yùn)算符以便計(jì)算并返回單一實(shí)例結(jié)果,這些運(yùn)算符就會(huì)立即執(zhí)行查詢。例如:

Dim numbers中的偶數(shù)個(gè)數(shù) = (From num In numbers _  Where num Mod 2 = 0 _  Select num).Count()

還可通過對(duì)查詢(立即執(zhí)行)或查詢變量(延遲執(zhí)行)調(diào)用 ToList 或 ToArray 方法來強(qiáng)制執(zhí)行查詢,如下面的代碼所示:

Dim evensList = (From num In numbers _  Where num Mod 2 = 0 _  Select num).ToList()

到此,關(guān)于“LINQ查詢操作的問題怎么解決”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI