溫馨提示×

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

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

LINQ查詢句法是怎么樣的

發(fā)布時(shí)間:2021-12-01 16:52:19 來源:億速云 閱讀:147 作者:小新 欄目:編程語言

小編給大家分享一下LINQ查詢句法是怎么樣的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Lambda表達(dá)式

var list = new [] { "aa", "bb", "ac" };   var result = Array.FindAll(list, s => (s.IndexOf("a") > -1));   foreach (var v in result)  Console.WriteLine(v);

其實(shí)和2.0中的匿名方法差不多,都是用于產(chǎn)生內(nèi)聯(lián)方法,只不過Lambda表達(dá)式的語法更為簡潔。語法如下:

(參數(shù)列表) => 表達(dá)式或者語句塊

其中:
參數(shù)個(gè)數(shù):可以有多個(gè)參數(shù),一個(gè)參數(shù),或者無參數(shù)。
表達(dá)式或者語句塊:這部分就是我們平常寫函數(shù)的實(shí)現(xiàn)部分(函數(shù)體)。

下面結(jié)合擴(kuò)展方法來一個(gè)復(fù)雜的例子:

public delegate int mydg(int a, int b);  public static class LambdaTest  {  public static int oper(this int a, int b, mydg dg)  {  return dg(a, b);  }  }  Console.WriteLine(1.oper(2, (a, b) => a + b));  Console.WriteLine(2.oper(1, (a, b) => a - b));

LINQ查詢句法

var persons = new List<Person> {  new Person {username = "a", age=19},  new Person {username = "b", age=20},  new Person {username = "a", age=21},  };  var selectperson = from p in persons where p.age >= 20 select p.username.ToUpper();  foreach(var p in selectperson)  Console.WriteLine(p);

LINQ查詢句法是使用標(biāo)準(zhǔn)的LINQ查詢運(yùn)算符來表達(dá)查詢時(shí)一個(gè)方便的聲明式簡化寫法。該句法能在代碼里表達(dá)查詢時(shí)增進(jìn)可讀性和簡潔性,讀起來容易,也容易讓人寫對(duì)。Visual Studio 對(duì)查詢句法提供了完整的智能感應(yīng)和編譯時(shí)檢查支持。編譯器在底層把查詢句法的表達(dá)式翻譯成明確的方法調(diào)用代碼,代碼通過新的擴(kuò)展方法和Lambda表達(dá)式語言特性來實(shí)現(xiàn)。上面的查詢句法等價(jià)于下面的代碼:

var selectperson = persons.Where(p=>p.age>=20).Select(p=>p.username.ToUpper());

LINQ查詢句法可以實(shí)現(xiàn)90%以上T-SQL的功能(由于T-SQL是基于二維表的,所以LINQ查詢語法會(huì)比T-SQL更簡單和靈活),但是由于智能感應(yīng)的原因,select不能放在一開始就輸入。

以上是“LINQ查詢句法是怎么樣的”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

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

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

AI