成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linq Lambda表達式基礎(chǔ)概括

開發(fā) 后端
這里介紹Linq Lambda表達式包含多個關(guān)鍵部分。Linq Lambda表達式首先定義傳入委托的變量。在以上代碼示例中,x(在 => 操作符左側(cè)聲明)是參數(shù),代表傳遞給它的 nums 數(shù)組中的每個元素。

在向大家詳細(xì)介紹Linq之前,首先讓大家了解下Linq Lambda表達式,然后全面介紹Linq。

Linq Lambda表達式

許多標(biāo)準(zhǔn)查詢操作符在對序列執(zhí)行運算時都使用 Func 委托來處理單個元素。Linq Lambda表達式可與標(biāo)準(zhǔn)查詢操作符結(jié)合使用以代表委托。Linq Lambda表達式是創(chuàng)建委托實現(xiàn)的簡略表達形式,并可用于匿名委托適用的所有場合。C# 和 Visual Basic® .NET 均支持 Linq Lambda表達式。但是,必須注意:由于 Visual Basic .NET 尚不支持匿名方法,Linq Lambda表達式可能僅包含一個語句。

讓我們來看看如何對一個整數(shù)數(shù)組使用 Single 操作符。這個整數(shù)數(shù)組的每個元素代表 2 的 1 到 10 次方。先創(chuàng)建此數(shù)組,然后使用 Single 操作符來檢索滿足 Linq Lambda表達式中指定條件的單個整數(shù)元素:

  1. int[] nums = { 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 };  
  2. int singleNum = nums.Single(x => x > 16 && x < 64);  
  3. Console.WriteLine(singleNum.ToString()); 

Linq Lambda表達式包含多個關(guān)鍵部分。Linq Lambda表達式首先定義傳入委托的變量。在以上代碼示例中,x(在 => 操作符左側(cè)聲明)是參數(shù),代表傳遞給它的 nums 數(shù)組中的每個元素。Linq Lambda表達式的剩余部分代表數(shù)組中每個元素的評估邏輯。可使用匿名委托輕松地重新編寫以上表達式,如下所示:

  1. int singleNum = nums.Single<int>(  
  2. delegate(int x) {return (x > 16 && x < 64); }  
  3. ) ; 

但是,此代碼的可讀性不及 Linq Lambda表達式。C# 2.0 引入了可使委托的傳遞稍微輕松些的匿名委托;但是,Linq Lambda表達式的簡潔語法可使其更加簡單。

First和Single

如果必須從序列中提取一個值,F(xiàn)irst、FirstOrDefault、Single 和 SingleOrDefault 操作符都非常有用。First 方法返回序列中的***個元素。First 有一個重載方法,可使用它來傳入 Linq Lambda表達式來代表一個條件。例如,如果要返回整數(shù)序列中整數(shù)元素大于 50 的***個元素,可使用以下代碼示例:

  1. int[] nums = { 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 };  
  2. int num1 = nums.First<int>();  
  3. int num2 = nums.First<int>(x => x > 50);  
  4. int num3 = nums.FirstOrDefault<int>(x => x > 5000);  
  5.  
  6. Console.WriteLine(  
  7. num1.ToString() + "-" +   
  8. num2.ToString() + "-" +   
  9. num3.ToString()); 

此代碼會查找***個元素 (1)、大于 50 的***個元素 (64) 以及大于 5,000 的***個元素。由于數(shù)組中沒有元素滿足第三個 Linq Lambda表達式(數(shù)組中無整數(shù)大于 5,000),則如果代碼使用的是 First 操作符而非 FirstOrDefault,則會引發(fā)異常。在使用 FirstOrDefault 操作符時,如果沒有元素滿足 Linq Lambda表達式,則會返回 0。First 操作符也可用于 LINQ to Entities 查詢,如下所示:

  1. using (Entities entities = new Entities())  
  2. {  
  3. var query = (from c in entities.Customers  
  4. select c).First(c => c.City.Equals("London"));  
  5. Console.WriteLine(query.CompanyName);  

在此示例中,將返回 London 城中的***個客戶。正如您所看到的,當(dāng) First 方法用于各種 LINQ 提供程序(在本例中為 LINQ to Objects 和 LINQ to Entities)時,所用的語法并不會更改。

【編輯推薦】

  1. LINQ to SQL查詢分析
  2. LINQ查詢架構(gòu)簡單介紹
  3. LINQ to SQL映射關(guān)系概述
  4. LINQ To SQL對象模型淺析
  5. LINQ to SQL映射列描述
責(zé)任編輯:佚名 來源: CSDN
相關(guān)推薦

2009-09-15 15:18:00

Linq Lambda

2009-09-11 09:48:27

Linq Lambda

2009-09-09 13:01:33

LINQ Lambda

2009-09-17 09:44:54

Linq Lambda

2009-09-17 10:40:22

Linq Lambda

2009-09-17 09:09:50

Lambda表達式Linq查詢

2009-09-09 17:14:17

Linq lambda

2009-09-17 11:08:55

LINQ查詢表達式

2009-09-09 17:45:07

Linq表達式

2009-09-17 14:21:19

LINQ表達式

2009-09-11 12:32:33

LINQ表達式

2011-10-28 16:34:13

LINQ

2009-09-10 15:35:07

LINQ查詢表達式

2009-09-16 10:08:06

LINQ查詢

2022-12-05 09:31:51

接口lambda表達式

2009-09-07 17:18:33

LINQ查詢表達式

2009-09-11 09:53:16

Linq查詢表達式

2009-09-17 09:15:49

Linq表達式樹

2009-08-27 09:13:28

LINQ查詢表達式

2012-06-26 10:03:58

JavaJava 8lambda
點贊
收藏

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

主站蜘蛛池模板: 亚洲精品在线观 | 国产精品不卡 | h视频免费看| 日韩免费视频一区二区 | 亚洲一区成人 | 国产成人高清成人av片在线看 | 国产高清在线 | 亚洲精品免费在线 | 欧美性一级 | 亚洲最大av | 一区二区在线看 | 国产永久免费 | 日韩在线视频精品 | 国产在线精品区 | 欧美成人精品一区二区三区 | 激情五月婷婷综合 | 成人a视频片观看免费 | 毛片链接 | 中国91av| av免费网站在线观看 | 中文字幕欧美一区 | 天天干视频 | 欧美另类视频在线 | 亚洲aⅴ| 成人免费毛片片v | 色综合色综合网色综合 | 国产精品99久久久久久久vr | 亚洲欧美日韩系列 | 欧美精品一区三区 | 久久综合入口 | 欧美不卡视频 | 97视频在线观看网站 | 国产精品视频一区二区三区四区国 | 国产91在线 | 亚洲 | 精品久久久久久久久久久久 | 古装三级在线播放 | 亚洲一二三区在线观看 | 久久久久九九九九 | www.久久99| 99亚洲综合 | 九九天堂网 |