溫馨提示×

溫馨提示×

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

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

LINQ中查詢語句格式是怎么樣的

發(fā)布時間:2021-11-30 15:12:17 來源:億速云 閱讀:146 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)LINQ中查詢語句格式是怎么樣的的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

LINQ的基本格式如下所示:

var <變量> = from <項目> in <數(shù)據(jù)源> where <表達(dá)式> orderby <表達(dá)式> 

LINQ  基本子句

from查詢子句&mdash;&mdash;基礎(chǔ)

后面跟隨著項目名稱和數(shù)據(jù)源

示例代碼如下:

var str = from lq in str select lq;

其中select語句指定了返回到集合變量中的元素是來自哪個數(shù)據(jù)源的

from查詢子句&mdash;&mdash;嵌套查詢

可以在from子句中嵌套另一個from子句即可,示例代碼如下所示。

var str = from lq in str from m in str2 select lq;

where條件子句

where子句指定了篩選的條件,這也就是說在where子句中的代碼段必須返回布爾值才能夠進(jìn)行數(shù)據(jù)源的篩選

示例代碼如下:

var str = from m in MyList where m.Length > 5 select m;

where子句查詢

當(dāng)需要多個where子句進(jìn)行復(fù)合條件查詢時,可以使用“&&”進(jìn)行where子句的整合

示例代碼如下:

var str = from m in myList where (m.Length > 6 && m.Contains("liu")) select m;

group分組子句

語句格式:var str = from p in PersonList group p by p.age

group子句將數(shù)據(jù)源中的數(shù)據(jù)進(jìn)行分組,在遍歷數(shù)據(jù)元素時,并不像前面的章節(jié)那樣直接對元素進(jìn)行遍歷,因為group子句返回的是元素類型為IGrouping<TKey,TElement>的對象序列,必須在循環(huán)中嵌套一個對象的循環(huán)才能夠查詢相應(yīng)的數(shù)據(jù)元素。

在使用group子句時,LINQ查詢子句的末尾并沒有select子句,因為group子句會返回一個對象序列,通過循環(huán)遍歷才能夠在對象序列中尋找到相應(yīng)的對象的元素,如果使用group子句進(jìn)行分組操作,可以不使用select子句。

orderby排序子句

語句格式:var str = from p in PersonList orderby p.age select p;

orderby子句中使用descending關(guān)鍵字進(jìn)行倒序排列

示例代碼如下:

var str = from p in PersonList orderby p.age descending select p;

orderby子句同樣能夠進(jìn)行多個條件排序,只需要將這些條件用“,”號分割即可

示例代碼如下:

var str = from p in PersonList orderby p.age descending,p.name select p;

join連接子句

在LINQ中同樣也可以使用join子句對有關(guān)系的數(shù)據(jù)源或數(shù)據(jù)對象進(jìn)行查詢,但首先這兩個數(shù)據(jù)源必須要有一定的聯(lián)系

var str = from p in PersonList join car in CarList on p.cid equals car.cid select p;

感謝各位的閱讀!關(guān)于“LINQ中查詢語句格式是怎么樣的”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

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

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

AI