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

LINQ重要組成部分簡(jiǎn)介

開發(fā) 后端
這里介紹LINQ重要組成部分,包括隱藏類型的本地變量、對(duì)象初始化程序、Lambda表達(dá)式、擴(kuò)展方法和匿名類等方面。

Linq有很多值得學(xué)習(xí)的地方,這里我們主要介紹LINQ重要組成部分,包括介紹Linq的查詢語(yǔ)法等方面。

為了讓Linq的查詢語(yǔ)法更接近于C#和VB.NET, C# 3.0和VB.NET 9.0基于的模板、匿名方法和迭代器都是LINQ重要組成部分,其中包括了以下的重要特性:

1.隱藏類型的本地變量

C# 3.0提供了一個(gè)新的關(guān)鍵子var,這樣程序員就可以不需要明確的定義一個(gè)本地變量,而是由編譯器根據(jù)表達(dá)式來初始化該變量。比如: var name="Linq";通過該項(xiàng)特性,不再需要重復(fù)本地變量的類型,編譯器會(huì)自動(dòng)的推動(dòng)類型,同時(shí)支持強(qiáng)類型。而且可以省去在foreach循環(huán)中定義迭代器類型

2.對(duì)象初始化程序

該特性讓我們能夠在對(duì)象定義的時(shí)候就給相應(yīng)的字段和屬性賦值.例如:

  1. class Person  
  2. {  
  3. ......  
  4. public string Name { get; set; }  
  5. public int Age { get; set; }  
  6. public string Nation { get; set; }  
  7. ......  

通過該特性就可以在一句聲明語(yǔ)句中初始化該變量

  1. var linq = new Person { Name = "Linq"Age = "2"Nation = "USA" }; 

對(duì)于集合也是一樣:

  1. ......  
  2. var linqs = new List<Person>[]{  
  3. new Person{Name="Linq to SQL",Age=1,Nation="USA"},  
  4. new Person{Name="Linq to XML",Age=2,Nation="UK"},  
  5. new Person{Name="Linq to DataSet",Age=3,Nation="GR"}  
  6. };  
  7. ...... 

就類似于用Add方法添加對(duì)象。但是要注意必須是實(shí)現(xiàn)了IEnumerable接口和提供了Add方法的類.

3.Lambda表達(dá)式
   linq       =>       linq.Age==2
(輸入?yún)?shù)) (操作符) (表達(dá)式或是聲明模塊)

在沒有定義參數(shù)類型的情況下,輸入?yún)?shù)為隱藏類型。當(dāng)然可以定義具體類型,比如(Person linq)

4.擴(kuò)展方法

其實(shí)最簡(jiǎn)單的實(shí)現(xiàn)就是在第一個(gè)參數(shù)前加上this關(guān)鍵字。因?yàn)閠his關(guān)鍵字指示編譯器把該方法作為擴(kuò)展方法對(duì)待。但是擴(kuò)展方法必須是聲明在非模板靜態(tài)類。

5.匿名類

其實(shí)匿名類只是沒有類型名稱而已,而實(shí)際的類型則由編譯器在創(chuàng)建時(shí)確定.例如:

  1. var linq=new{"SQL to Object",4,"CN"}; 

該特性的好處是在快速返回簡(jiǎn)單的臨時(shí)結(jié)果,有利于開發(fā)。但是也有它的局限性在里面。主要是不能夠利用強(qiáng)類型的方式進(jìn)行類的操作,同時(shí)不能用作方法的返回值 (除非該方法的返回值是Object類型)。還有就是在C#中匿名類是不可變的,也就是一旦創(chuàng)建就不能改變當(dāng)中的屬性值。以上介紹LINQ重要組成部分。

【編輯推薦】

  1. LinqDataSource控件剖析
  2. Linq To Sql學(xué)習(xí)經(jīng)驗(yàn)
  3. Linq String類型淺析
  4. Linq組合查詢之集成數(shù)據(jù)庫(kù)語(yǔ)言查詢
  5. Linq To SQL輸出SQL語(yǔ)句剖析
責(zé)任編輯:佚名 來源: 51cto.com
相關(guān)推薦

2016-11-25 09:48:54

Hadoop生態(tài)圈MapReduce

2019-01-07 14:38:22

混合云IaaS微軟

2009-06-15 08:43:46

2023-05-26 09:34:25

SDN網(wǎng)絡(luò)

2009-06-04 07:55:08

Struts框架簡(jiǎn)介Struts

2023-03-27 16:21:22

2010-08-17 18:45:36

Android

2010-02-25 17:30:28

WCF服務(wù)系統(tǒng)

2010-03-02 13:23:11

Android手機(jī)程序

2011-06-13 13:47:52

Silverlight

2009-07-07 17:39:26

JSP系統(tǒng)

2009-07-28 15:28:35

ASP.NET AJA

2010-06-29 19:31:48

UML建模技術(shù)

2010-06-30 10:02:05

UML建模技術(shù)

2010-01-22 18:41:32

Visual C++

2021-05-06 09:48:11

數(shù)據(jù)網(wǎng)絡(luò)技術(shù)大數(shù)據(jù)信創(chuàng)產(chǎn)業(yè)

2018-10-25 15:03:13

2021-12-12 08:35:13

數(shù)據(jù)策略數(shù)據(jù)數(shù)據(jù)分析

2023-07-04 15:54:39

數(shù)據(jù)測(cè)試數(shù)據(jù)質(zhì)量開發(fā)

2010-03-02 10:36:05

Android窗體
點(diǎn)贊
收藏

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