成人免费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-20 16:15:19

C# 匿名方法

2009-08-26 15:46:01

C#匿名類型

2009-08-27 17:51:34

C#匿名方法

2009-08-27 10:19:22

C#匿名類型

2009-09-01 10:58:46

C#匿名類型對象

2009-08-20 16:25:59

C# 匿名方法

2009-08-31 09:44:23

C# Employee

2009-09-03 11:15:38

C#設置Coopera

2009-08-18 17:29:02

C#使用指針

2009-08-13 15:18:23

C#文件上傳

2009-08-18 09:26:07

C#線程功能

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>

2009-08-17 09:57:00

C# Windows
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 狠狠干网| 免费成人高清在线视频 | 国产欧美视频一区 | 国产午夜精品一区二区三区四区 | 久久精品亚洲欧美日韩久久 | 不卡一区二区三区四区 | 久久精品97 | 久久久成人一区二区免费影院 | 国产精品免费在线 | 国产一级片免费看 | 成人免费一区二区三区视频网站 | 亚洲精品日韩欧美 | 午夜三级在线观看 | 中文字幕第一页在线 | 日韩在线免费观看视频 | 国产精品一级在线观看 | 精品www | 国产成人影院 | 中文字幕精品视频 | 欧美一区二区免费 | 久久国产精品免费 | 久在线视频播放免费视频 | 久久久婷 | 综合久久综合久久 | 91精品久久久久久久久中文字幕 | 国产成人高清视频 | 久草久| 特级毛片 | 午夜国产 | 中文字幕一区二区三区精彩视频 | 国产精品久久久 | 中文字幕在线免费观看 | 97伦理影院 | 亚洲综合视频一区 | 日本精品裸体写真集在线观看 | 国产精品免费高清 | 亚洲精品国产偷自在线观看 | 欧美日韩成人一区二区 | 99国产视频 | 搞av.com| 久久久久久国产精品免费免费狐狸 |