自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

LINQ使用Where擴(kuò)展方法

開發(fā) 后端
這里介紹使用LINQ Where擴(kuò)展方法,把一個查詢語句寫成多個擴(kuò)展函數(shù)的方式,這其實是編譯器處理查詢語句的方法。

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

我們除了可以如下方式書寫帶Where子句的LINQ外:

  1. from p in products where p.UnitsInStock > 0 && p.UnitPrice > 3.00M select p; 

還可以對數(shù)組(所有實現(xiàn)了IEnumerable接口的對象都可以)的使用LINQ here擴(kuò)展方法。

把一個查詢語句寫成多個擴(kuò)展函數(shù)的方式,這其實是編譯器處理查詢語句的方法,比如下面的查詢語句:

  1. int[] arr = new int[] { 8, 5, 89, 3, 56, 4, 1, 58 };  
  2. var m = from n in arr where n < 5 orderby n select n;  

編譯器在編譯后,替我們產(chǎn)生的代碼等價于如下的代碼:

  1. IOrderedSequence m = arr.Where(delegate (int n) {  
  2. return (n < 5);  
  3. }).OrderBy(delegate (int n) {  
  4. return n;  
  5. });  

下面我們來看一個使用LINQ here擴(kuò)展方法的例子:

我們有一個字符串?dāng)?shù)組,一次是0到9的英文單詞,我們查詢出這10個字符的長度比它所在數(shù)組的位置 這兩個數(shù)字比較小的英文單詞.

這個查詢可能有些繞口,你可以先看下面這些代碼:

  1. public static void LinqDemo01()  
  2. {  
  3. string[] digits = { "zero", "one", "two", "three", "four", 
    "five", "six", "seven", "eight", "nine" };  
  4. var shortDigits = digits.Where((dd, aa) => dd.Length < aa);  
  5. Console.WriteLine("Short digits:");  
  6. foreach (var d in shortDigits)  
  7. Console.WriteLine("The word {0} is shorter than its value.", d);  
  8. }  

輸出結(jié)果:

  1. Short digits:  
  2. The word five is shorter than its value.  
  3. The word six is shorter than its value.  
  4. The word seven is shorter than its value.  
  5. The word eight is shorter than its value.  
  6. The word nine is shorter than its value.  

【編輯推薦】

  1. LINQ to SQL Table淺談
  2. Linq語句問題的解決方法
  3. Ling to sql更新實體概述
  4. Linq實體繼承簡單描述
  5. Linq Library概述
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-09-11 10:20:36

Linq擴(kuò)展方法

2009-09-17 11:29:50

Linq擴(kuò)展方法

2009-09-10 17:30:15

LINQ Where子

2009-09-08 15:19:52

Linq Where操

2009-09-18 16:07:10

Linq Where操

2009-09-08 15:39:13

Linq使用Inser

2009-09-14 09:49:08

Linq擴(kuò)展函數(shù)

2009-09-17 14:21:19

LINQ表達(dá)式

2009-09-09 13:18:26

Linq Submit

2009-09-14 16:41:23

LINQ To XML

2009-09-09 09:59:08

Linq調(diào)用LoadP

2009-09-08 16:08:44

Linq使用order

2009-09-10 14:54:15

LINQ使用Skip操

2009-05-11 10:40:36

.NETLINQforeach

2009-09-15 16:44:44

Linq排序

2009-09-09 16:21:31

Linq使用sqlme

2009-09-10 15:45:07

Linq使用Selec

2009-09-09 16:01:21

Linq實體繼承使用

2009-09-08 09:24:50

LINQ查詢

2009-08-27 18:04:01

c#擴(kuò)展方法string
點贊
收藏

51CTO技術(shù)棧公眾號