新聞中心
在向大家詳細(xì)介紹LINQ查詢句法之前,首先讓大家了解下集合初始化器,然后全面介紹LINQ查詢句法。

成都創(chuàng)新互聯(lián)成立十多年來(lái),這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名注冊(cè)、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀、功能強(qiáng)大、用戶體驗(yàn)好、性價(jià)比高、打開快等等,這些對(duì)于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)通過(guò)對(duì)建站技術(shù)性的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
集合初始化器
- public class Person
- {
- public string username { get; set; }
- public int age { get; set; }
- public override stringToString()
- {
- return string.Format("username:{0} age:{1}", this.username, this.age);
- }
- }
- var persons = new List
{ - new Person {username = "a", age=1},
- new Person {username = "b", age=2}};
- foreach(var p in persons)
- Console.WriteLine(p.ToString());
編譯器會(huì)自動(dòng)為你做集合插入操作。如果你為Hashtable初始化的話就相當(dāng)于使用了兩個(gè)對(duì)象初始化器。
LINQ查詢句法
- var persons = new List
{ - 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)算符來(lái)表達(dá)查詢時(shí)一個(gè)方便的聲明式簡(jiǎn)化寫法。該句法能在代碼里表達(dá)查詢時(shí)增進(jìn)可讀性和簡(jiǎn)潔性,讀起來(lái)容易,也容易讓人寫對(duì)。Visual Studio 對(duì)查詢句法提供了完整的智能感應(yīng)和編譯時(shí)檢查支持。編譯器在底層把查詢句法的表達(dá)式翻譯成明確的方法調(diào)用代碼,代碼通過(guò)新的擴(kuò)展方法和Lambda表達(dá)式語(yǔ)言特性來(lái)實(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的查詢語(yǔ)法會(huì)比T-SQL更簡(jiǎn)單和靈活),但是由于智能感應(yīng)的原因,select不能放在一開始就輸入。
【編輯推薦】
- Linq匿名類型簡(jiǎn)單概述
- Linq隨機(jī)讀取數(shù)據(jù)淺析
- Linq Lambda表達(dá)式全面分析
- Linq擴(kuò)展方法簡(jiǎn)單分析
- 初探Linq局部變量類型
標(biāo)題名稱:LINQ查詢句法基礎(chǔ)分析
轉(zhuǎn)載注明:http://fisionsoft.com.cn/article/cdddpsj.html


咨詢
建站咨詢
