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

C# Lambda表達(dá)式樹(shù)淺談

開(kāi)發(fā) 后端
這里介紹C# Lambda表達(dá)式樹(shù),C# Lambda表達(dá)式樹(shù)允許我們像處理數(shù)據(jù)(比如讀取,修改)一樣來(lái)處理Lambda表達(dá)式。我以一個(gè)例子簡(jiǎn)單說(shuō)明。

C#新語(yǔ)言特性有很多值得學(xué)習(xí)的地方,這里我們主要介紹C# Lambda表達(dá)式樹(shù),包括介紹C# Lambda表達(dá)式樹(shù)要點(diǎn)等方面。

C# Lambda表達(dá)式樹(shù)

C# Lambda表達(dá)式樹(shù)允許我們像處理數(shù)據(jù)(比如讀取,修改)一樣來(lái)處理Lambda表達(dá)式。我以一個(gè)例子簡(jiǎn)單說(shuō)明:

  1. Expression<Func<int, bool>> filter = n => (n * 3) < 5;  
  2. BinaryExpression lt = (BinaryExpression)filter.Body;  
  3. BinaryExpression mult = (BinaryExpression)lt.Left;  
  4. ParameterExpression en = (ParameterExpression)mult.Left;  
  5. ConstantExpression three = (ConstantExpression)mult.Right;  
  6. ConstantExpression five = (ConstantExpression)lt.Right;  
  7. var One = filter.Compile();  
  8. Console.WriteLine("Result: {0},{1}", One(5), One(1));  
  9. Console.WriteLine("({0} ({1} {2} {3}) {4})", lt.NodeType,mult.
    NodeType, en.Name, three.Value, five.Value); 

效果圖如下:

Lambda表達(dá)式樹(shù)

C# Lambda表達(dá)式樹(shù)要點(diǎn)

1. Lambda表達(dá)式的參數(shù)類(lèi)型可以忽略,因?yàn)榭梢愿鶕?jù)使用的上下文進(jìn)行推斷。
2. Lambda表達(dá)式的主體(body)可以是表達(dá)式,也可以是語(yǔ)句塊。
3. Lambda表達(dá)式傳入的實(shí)參將參與類(lèi)型推斷,以及方法重載辨析。
4. Lambda表達(dá)式和表達(dá)式體可以被轉(zhuǎn)換為表達(dá)式樹(shù)。
5. 表達(dá)式樹(shù)允許lambda表達(dá)式能夠代表數(shù)據(jù)結(jié)構(gòu)替代表示為執(zhí)行代碼。

【編輯推薦】

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

2009-08-27 09:44:59

C# Lambda表達(dá)

2009-09-09 13:01:33

LINQ Lambda

2009-08-26 16:17:23

C# Lambda表達(dá)

2024-03-25 13:46:12

C#Lambda編程

2021-08-31 07:19:41

Lambda表達(dá)式C#

2009-07-09 09:51:07

Lambda表達(dá)式C#

2009-09-14 13:57:20

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

2010-09-14 14:05:42

C#委托

2011-05-20 17:50:45

C#

2025-03-06 08:16:08

lambda表達(dá)式變量

2010-10-19 10:03:02

Lambda表達(dá)式

2022-11-07 07:11:19

C#lambda函數(shù)

2009-04-29 09:05:59

Lambda抽象代表.NET

2009-08-07 15:41:39

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

2009-05-22 09:48:07

表達(dá)式樹(shù)泛型委托.NET

2009-07-01 09:56:10

C#3.0

2020-10-16 06:40:25

C++匿名函數(shù)

2023-11-02 08:25:58

C++Lambda

2009-09-11 09:48:27

Linq Lambda

2009-09-15 15:18:00

Linq Lambda
點(diǎn)贊
收藏

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