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

概述C# 匿名函數

開發 后端
本文介紹C# 匿名函數,匿名函數的基礎是對象初始化器,匿名類型從對象初始化器自動推斷和生成的元組類型。

放了一個長假,很是郁悶,休息沒休息好,學習沒學上,玩也沒怎么玩……這7天怎么就沒了?

哎,看來人生沒計劃,沒安排就會混混沌沌的過一天又一天,都不知道自己到底在干嘛。這樣下去只會一事無成!計劃好每一天的工作、學習、生活,或者安排好每一件事情,每一個目標的計劃,對取得成功還是非常有幫助的!

C# 匿名函數

  1. //匿名函數  
  2. varp1=new{Name="張三"Age=28};  
  3. varp2=new{Name="李四"Age=29};  
  4. varintArr=new[]{1,2,3,4,5}; 


首先我們來看一下上面這段代碼,比較簡單,和我們平時定義一個實例基本沒什么區別,只是new后面沒有跟具體定義的類型;這里我們使用new關鍵字調用匿名初始化器創建了一個匿名類型對象; 匿名類型直接繼承自System.Object;匿名類型的成員是編譯器根據初始化器推斷而來的一些讀寫屬性。

這里我們注意到C# 匿名函數基本上是配合隱式類型var來使用的,而且定義的順序也是一定要注意,上面p1和p2初始化時定義的屬性名、類型和順序一致,因此編譯器認為他們是同一個類型,可以使用p1=p2這樣的賦值語句;特別是順序需要注意,如果初始化時名稱類型一致而順序不一致,則p1和p2就是兩個類型,如果使用p1=p2則編譯時會拋出錯誤 :無法將類型“AnonymousType#1”隱式轉換為“AnonymousType#2” .定義匿名函數時還需要注意,不能用null賦初始值。

C# 匿名函數解析:匿名函數的基礎是對象初始化器,匿名類型從對象初始化器(object initializer)自動推斷和生成的元組類型。下面我們來看看匿名函數到底怎么生成的和我們原來的定義方式有什么區別:var p1 = new {Name="張三",Age=28};我們給p1賦了一個匿名類型,在編譯時,編譯器使用對象初始化器推斷的屬性來創建見一個新的匿名類型,該類型擁有Name和Age的屬性,在運行時,會創建新類型的一個實例同時Name和Age屬性將會被設置為對象初始化器中指定的值“張三”、28;和上面幾節里描述的一樣這里大家一定會想到,肯定又是在編譯器里封裝了一些處理;確實是這樣,下面這段代碼描述編譯器針對匿名函數語句具體做了哪些工作:

  1. class__Anonymous1  
  2. {  
  3. privatestringname;  
  4. privateintage;  
  5. publicstringName{get{returnname;}set{name=value;}}  
  6. publicintAge{get{returnage;}set{age=value;}}  
  7. }  
  8. __Anonymous1p1=new__Anonymous1();  
  9. p1.Name="張三";  
  10. p1.Age=28; 

這段代碼就是我們非常熟悉的寫法,編譯器就是在后臺依據匿名函數解析類型,創建新類,初始化對象;如果你創建了多個相似的匿名類型,C#編譯器會聰明的發現這一點,只生成一個類和它的多個實例;小結匿名函數多數是和var隱式類型一起使用,因此多在局部(方法內部)內使用。同樣匿名函數是編譯器編譯時創建,內部實現與我們原來的寫法沒有本質區別。

【編輯推薦】

  1. C#在應用程序間發送消息實現淺析
  2. 一些C#時間類型的入門知識
  3. C#接口和抽象類技術特點淺析
  4. 一個C#時間計算的實例
  5. C#繼承知識詳解
責任編輯:佚名 來源: 比特網
相關推薦

2009-08-20 16:28:45

C#匿名方法

2009-08-24 18:09:13

C#構造函數

2009-07-31 15:37:45

C#靜態構造函數

2009-08-10 17:25:58

C#匿名類型

2009-08-26 15:46:01

C#匿名類型

2009-08-20 16:15:19

C# 匿名方法

2009-08-20 16:25:59

C# 匿名方法

2009-08-27 17:51:34

C#匿名方法

2009-09-01 10:58:46

C#匿名類型對象

2009-08-27 10:19:22

C#匿名類型

2009-08-31 09:44:23

C# Employee

2009-09-03 11:15:38

C#設置Coopera

2009-08-13 15:18:23

C#文件上傳

2009-08-18 17:29:02

C#使用指針

2009-08-18 09:26:07

C#線程功能

2009-08-17 09:57:00

C# Windows

2009-08-25 16:49:44

C#使用if語句

2009-09-03 10:42:16

C# Employee

2009-08-25 10:08:39

C# MyData對象

2009-08-19 11:09:00

C# Cast<T>
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲狠狠 | 日韩免费电影 | 国产精品视频在线观看 | 国产a区| 日韩欧美日韩在线 | 精品少妇v888av | 国产一区二区视频免费在线观看 | 中文字幕一区二区三区乱码在线 | 在线观看国产视频 | 欧洲av在线 | 欧美精品在线免费 | 国产a视频| 操网站| 狠狠操天天操 | 国产91精品久久久久久久网曝门 | 色偷偷人人澡人人爽人人模 | 国内自拍视频在线观看 | 91亚洲精| 久热精品视频 | 久久91av| av一级毛片 | 久久精品国产a三级三级三级 | 精品亚洲一区二区 | 91久久综合亚洲鲁鲁五月天 | 天天综合国产 | 伊人伊人| 成人免费xxxxx在线视频 | 国产乱码精品一区二三赶尸艳谈 | 国产色网站 | 日韩精品视频一区二区三区 | 真人女人一级毛片免费播放 | 日韩一区二区成人 | 偷拍自拍网站 | 国产精品1区 | 中文在线视频 | 精品国产欧美一区二区三区成人 | 成人做爰9片免费看网站 | 久草视| 97色在线观看免费视频 | 七七婷婷婷婷精品国产 | 91影片 |