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

Linq本質(zhì)簡單分析

開發(fā) 后端
這里介紹Linq本質(zhì),本文的目的是幫助大家搞清楚C#3.0里面的Linq查詢表達(dá)式的來龍去脈,建議大家看完Linq查詢后再看各個語法新特性對Linq的意義,這樣會更加有幫助一些。

本文向大家介紹Linq本質(zhì),可能好多人還不了解Linq本質(zhì),沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。

本文的目的是幫助大家搞清楚C#3.0里面的Linq查詢表達(dá)式的來龍去脈,搞清楚以后對C#3.0的新特性基本上也就了然于胸了。建議大家看完Linq查詢后再看各個語法新特性對Linq的意義,這樣會更加有幫助一些。

1.匿名類型

  1. private static void AnonymousType()  
  2. {  
  3. var v = new { Name = "張三"Sex = true };  
  4. //無須顯示聲明一個類,而且在初始化器里面可以獲取上下文的變量——閉包  
  5. Console.WriteLine(v.Name);  

Linq本質(zhì):有了匿名類型后我們不需要顯示的聲明一個類型了,這個類型由C#編譯器自動生成,而且利用了初始化器和var的新特性對Linq的意義:和初始化器結(jié)合起來構(gòu)造查詢結(jié)果集合里面的新元素類型。

2.擴(kuò)展方法

比如我們現(xiàn)在想給int類型增加(擴(kuò)展)一個方法,判斷一個整數(shù)自身是否偶數(shù),我們期望的語法是這樣的:

  1. private static void ExtendMethod()  
  2. {  
  3. int i = 2;  
  4. Console.WriteLine(i.IsEven());  

注意原來int原來是沒有IsEven()這個方法的,要實現(xiàn)這個方法,必須寫一個靜態(tài)類和一個靜態(tài)方法:

  1. static class MyExtention  
  2. {  
  3. public static bool IsEven(this int num)  
  4. //this 表示針對int的實例和索引器的this的含義是一樣的,int表示給int這種類型進(jìn)行擴(kuò)展  
  5. {  
  6. return num % 2 == 0;  
  7. }  
  8.  

Linq本質(zhì):編譯i.IsEven()的本質(zhì)是C#編譯器生成了了MyExtention.IsEven(i)的代碼,實際上仍然沒有破壞類型的結(jié)構(gòu),并不是真的象語法那樣平白無故給int增加了一個IsEven()方法,和設(shè)計模式里面的Visitor模式動態(tài)注入方法還是有區(qū)別的。

【編輯推薦】

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

2009-09-15 14:58:26

Linq查詢本質(zhì)

2009-09-08 13:16:01

Linq to SQL

2009-09-17 11:29:50

Linq擴(kuò)展方法

2009-09-10 17:53:50

LINQ是什么

2009-09-08 17:01:54

Linq源元素

2009-09-08 10:50:20

2009-09-11 09:41:19

LINQ to SQL

2009-09-14 10:57:46

LINQ入門

2009-09-09 14:20:49

LINQ To Luc

2009-09-09 15:28:43

Linq to obj

2009-09-15 16:26:36

Linq orderb

2009-09-18 16:00:07

LINQ架構(gòu)

2009-09-10 16:28:17

LINQ查詢

2009-09-11 10:20:36

Linq擴(kuò)展方法

2009-09-09 09:36:25

Linq對象引用

2009-09-07 17:46:18

LINQ高級特性

2009-09-08 09:24:50

LINQ查詢

2009-09-14 10:20:52

LINQ查詢語法

2009-09-17 09:24:57

Linq實現(xiàn)分頁

2009-09-09 16:07:16

Linq實體關(guān)系
點贊
收藏

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