您好,登錄后才能下訂單哦!
小編給大家分享一下LINQ表達(dá)式怎么寫(xiě),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
LINQ表達(dá)式簡(jiǎn)介
1.OO(面向?qū)ο螅┮酝獾慕颍盒畔⒌脑L問(wèn)與整合。關(guān)系數(shù)據(jù)庫(kù)與XML為其中的典型應(yīng)用。
2.NET Language Integrated Query (LINQ):不采用特定於關(guān)系數(shù)據(jù)庫(kù)或者XML的專(zhuān)有方案,而采用通用方案來(lái)解決各種信息源的訪問(wèn)與整合問(wèn)題。
3.在LINQ中,查詢(xún)成為編程語(yǔ)言的一個(gè)組成部分,這使得查詢(xún)表達(dá)式可以得到很好的編譯時(shí)語(yǔ)法檢查,豐富的元數(shù)據(jù),智能感知等強(qiáng)類(lèi)型語(yǔ)言的好處。
初識(shí)LINQ表達(dá)式
class app { static void Main() { string[] names = { "Burke", "Connor", "Frank", "Everett", "Albert", "George", "Harris", "David" }; IEnumerable<string> query = from s in names where s.Length == 5 orderby s select s.ToUpper(); foreach (string item in query) Console.WriteLine(item); } }
LINQ表達(dá)式解析
IEnumerable<string> query = from s in names where s.Length == 5 orderby s select s.ToUpper();
在語(yǔ)義上等同于如下“方法風(fēng)格(基于方法)的查詢(xún)”:
IEnumerable<string> query = names .Where(s => s.Length == 5) .OrderBy(s => s) .Select(s => s.ToUpper());
LINQ查詢(xún)表達(dá)式解析
Func<string, bool> filter = delegate (string s) { return s.Length == 5;}; Func<string, string> extract = delegate (string s) { return s; }; Func<string, string> project = delegate (string s) { return s.ToUpper(); }; IEnumerable<string> query = names.Where(filter) .OrderBy(extract) .Select(project);
查詢(xún)操作符與擴(kuò)展方法解析
查詢(xún)操作符是LINQ中的另外一項(xiàng)重要設(shè)施,LINQ使用擴(kuò)展方法來(lái)定義查詢(xún)操作符,例如where操作符:
namespace System.Linq { public static class Enumerable { public static IEnumerable<T> Where<T>( this IEnumerable<T> source, Func<T, bool> predicate) { foreach (T item in source) if (predicate(item)) yield return item; } } }
以上是“LINQ表達(dá)式怎么寫(xiě)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(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)容。