新聞中心
LINQ有很多值得學(xué)習(xí)的地方,這里我們主要介紹使用LINQ Where擴(kuò)展方法,包括介紹書寫帶Where子句的LINQ等方面。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),下花園企業(yè)網(wǎng)站建設(shè),下花園品牌網(wǎng)站建設(shè),網(wǎng)站定制,下花園網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,下花園網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
我們除了可以如下方式書寫帶Where子句的LINQ外:
- from p in products where p.UnitsInStock > 0 && p.UnitPrice > 3.00M select p;
還可以對(duì)數(shù)組(所有實(shí)現(xiàn)了IEnumerable接口的對(duì)象都可以)的使用LINQ here擴(kuò)展方法。
把一個(gè)查詢語句寫成多個(gè)擴(kuò)展函數(shù)的方式,這其實(shí)是編譯器處理查詢語句的方法,比如下面的查詢語句:
- int[] arr = new int[] { 8, 5, 89, 3, 56, 4, 1, 58 };
- var m = from n in arr where n < 5 orderby n select n;
編譯器在編譯后,替我們產(chǎn)生的代碼等價(jià)于如下的代碼:
- IOrderedSequence m = arr.Where(delegate (int n) {
- return (n < 5);
- }).OrderBy(delegate (int n) {
- return n;
- });
下面我們來看一個(gè)使用LINQ here擴(kuò)展方法的例子:
我們有一個(gè)字符串?dāng)?shù)組,一次是0到9的英文單詞,我們查詢出這10個(gè)字符的長度比它所在數(shù)組的位置 這兩個(gè)數(shù)字比較小的英文單詞.
這個(gè)查詢可能有些繞口,你可以先看下面這些代碼:
- public static void LinqDemo01()
- {
- string[] digits = { "zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine" };- var shortDigits = digits.Where((dd, aa) => dd.Length < aa);
- Console.WriteLine("Short digits:");
- foreach (var d in shortDigits)
- Console.WriteLine("The word {0} is shorter than its value.", d);
- }
輸出結(jié)果:
- Short digits:
- The word five is shorter than its value.
- The word six is shorter than its value.
- The word seven is shorter than its value.
- The word eight is shorter than its value.
- The word nine is shorter than its value.
【編輯推薦】
- LINQ to SQL Table淺談
- Linq語句問題的解決方法
- Ling to sql更新實(shí)體概述
- Linq實(shí)體繼承簡單描述
- Linq Library概述
當(dāng)前文章:LINQ使用Where擴(kuò)展方法
鏈接分享:http://www.dlmjj.cn/article/dhsigpe.html


咨詢
建站咨詢
