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

C# Lambda表達(dá)式概述

開發(fā) 后端
這里介紹C# ambda表達(dá)式參數(shù)類型可以是隱式類型或顯式類型。在顯式列表中,每個(gè)參數(shù)的類型是顯式指定的,在隱式列表中,參數(shù)的類型由Lambda表達(dá)式出現(xiàn)的語境自動(dòng)推斷類型。

C#新語言特性還是比較常見的東西,這里我們主要介紹C# Lambda表達(dá)式,包括介紹Lambda表達(dá)式參數(shù)類型可以是隱式類型或顯式類型等方面。

C# Lambda表達(dá)式

我們從“所有字符串查找包含YJingLee子字符串”說起。在C# 2.0中,匿名方法允許我們以內(nèi)聯(lián)的方式來實(shí)現(xiàn)委托實(shí)例,它提供強(qiáng)大的函數(shù)式編程語言,但是標(biāo)記顯得相當(dāng)?shù)娜唛L和帶有強(qiáng)制性。我們使用C# 2.0 中的匿名方法查找,代碼如下:

  1. var inString = list.FindAll(delegate(string s)  
  2. { return s.Indexof("YJingLee") >= 0; }); 

現(xiàn)在可以使用C# 3.0帶來的Lambda表達(dá)式允許我們使用一種更接近人的思維、更自然的方式來實(shí)現(xiàn)類似于匿名方法同樣的效果,看下面的代碼多么簡潔:

  1. var inString = list.FindAll(s => s.Indexof("YJingLee") >= 0); 

Lambda表達(dá)式格式:(參數(shù)列表)=>表達(dá)式或語句塊
具體意義:定義Lambda接受參數(shù)列表,運(yùn)行表達(dá)式或語句塊返回表達(dá)式或語句塊的值傳給這個(gè)參數(shù)列表。

C# ambda表達(dá)式參數(shù)類型可以是隱式類型或顯式類型。在顯式列表中,每個(gè)參數(shù)的類型是顯式指定的,在隱式列表中,參數(shù)的類型由Lambda表達(dá)式出現(xiàn)的語境自動(dòng)推斷類型。
Lambda表達(dá)式的參數(shù)列表可以有一個(gè)或多個(gè)參數(shù),或者無參數(shù)。在有單一的隱型參數(shù)的lambda表達(dá)式中,圓括號(hào)可以從參數(shù)列表中省略。
例如:

  1. (x, y) => x * y;//多參數(shù),隱式類型=>表達(dá)式  
  2. x => x * 10;//單參數(shù),隱式類型=>表達(dá)式  
  3. x => { return x * 10; }; //單參數(shù),隱式類型=>語句塊  
  4. (int x) => x * 10;//單參數(shù),顯式類型=>表達(dá)式  
  5. (int x) => { return x * 10; };//單參數(shù),顯式類型=>語句塊  
  6. () => Console.WriteLine(); //無參數(shù) 

下面看這個(gè)例子:
在前面的帖子中,我們寫了一個(gè)User類及增加了2個(gè)人,接下來,我們使用由LINQ提供的新的Where和Average方法來返回集合中的人的一個(gè)子集,以及計(jì)算這個(gè)集合中的人的平均年齡:

  1. List<User> user = new List<User>{  
  2. new User{Id=1,Name="YJingLee",Age=22},  
  3. new User{Id=2,Name="XieQing",Age=25},  
  4. };  
  5. //獲取特定人時(shí)所用的過濾條件,p參數(shù)屬于User類型  
  6. var results = user.Where(p => p.Name == "YJingLee").ToList();  
  7. //用User對(duì)象的Age值計(jì)算平均年齡  
  8. var average = user.Average(p => p.Age); 

效果圖如下:

Lambda表達(dá)式

對(duì)這個(gè)Lambda表達(dá)式做個(gè)簡要分析:

  1. var resultsdelegate = user.Where(delegate(User p)  
  2. {  
  3. return p.Name == "YJingLee";// 返回一個(gè)布爾值  
  4. });  
  5. var averagedelegate = user.Average(delegate(User p)  
  6. {  
  7. return p.Age;  
  8. }); 

Lambda表達(dá)式簡要分析

C# Lambda表達(dá)式L可以被轉(zhuǎn)換為委托類型D,需要滿足以下條件:
L的參數(shù)類型要與D的參數(shù)個(gè)數(shù)相等,類型相同,返回類型相同,無論是表達(dá)式,還是語句塊。注意隱式類型要參與類型辨析。

【編輯推薦】

  1. C# const常量詳細(xì)介紹
  2. C# Lambda表達(dá)式學(xué)習(xí)筆記
  3. C#隱式類型局部變量經(jīng)驗(yàn)總結(jié)
  4. 調(diào)用C# Thread.Start()方法
  5. C# CheckStatus()方法
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-08-27 09:57:50

C# Lambda表達(dá)

2009-08-26 16:17:23

C# Lambda表達(dá)

2024-03-25 13:46:12

C#Lambda編程

2009-07-09 09:51:07

Lambda表達(dá)式C#

2021-08-31 07:19:41

Lambda表達(dá)式C#

2011-05-20 17:50:45

C#

2010-09-14 14:05:42

C#委托

2009-09-14 13:57:20

C# Lambda表達(dá)Lambda表達(dá)式

2022-11-07 07:11:19

C#lambda函數(shù)

2010-10-19 10:03:02

Lambda表達(dá)式

2009-08-07 15:41:39

C#正規(guī)表達(dá)式

2020-10-16 06:40:25

C++匿名函數(shù)

2009-07-01 09:56:10

C#3.0

2023-11-02 08:25:58

C++Lambda

2009-09-11 09:48:27

Linq Lambda

2009-09-09 13:01:33

LINQ Lambda

2009-09-15 15:18:00

Linq Lambda

2022-12-05 09:31:51

接口lambda表達(dá)式

2009-08-17 13:56:28

C#正則表達(dá)式入門

2009-08-03 17:27:14

C#正則表達(dá)式
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日韩一区中文字幕 | 在线看av的网址 | 午夜在线观看免费 | 精品一区二区三区在线观看 | 久草电影网 | 日本精品久久 | 国产成人av在线 | 欧产日产国产精品国产 | 日本精品一区二区三区四区 | www312aⅴ欧美在线看 | 国产91久久精品一区二区 | 久久久成人一区二区免费影院 | 久久久精品视频免费看 | 中文在线观看视频 | 国产精品美女久久久久久久久久久 | 国产精品一区二区在线播放 | 在线免费观看a级片 | 国产精品久久久久久久粉嫩 | 成人一区二区在线 | 日本中文字幕在线观看 | 一区二区伦理电影 | 免费观看av | 日本精品视频在线观看 | 精品一区二区三区四区 | 久久久精彩视频 | 国产精品一区二区久久久久 | 中文字幕视频网 | 亚洲高清在线免费观看 | 日本免费在线观看视频 | 亚洲久草| av看片网| 在线成人www免费观看视频 | 日韩成人免费视频 | 欧美成人在线网站 | 成人午夜性成交 | 国产精品一区二区三区在线 | 欧美精品一区二区三区一线天视频 | 日韩久久久久久久久久久 | 激情婷婷成人 | 一级做a爰片久久毛片 | 欧美一级电影免费 |