偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C#指代的功能介紹

開發(fā) 后端
這里介紹C#指代這個(gè)玩意很特別,它有點(diǎn)象指針,但又不完全是,不過大家還是可以把它理解為一種類型安全的、面向?qū)ο蟮闹羔槨?/div>

在向大家詳細(xì)介紹C#指代之前,首先讓大家了解下C#對象索引機(jī)制,然后全面介紹C#指代。

C#對象索引機(jī)制(Indexer)

C#中引入了對象索引機(jī)制。說得明白點(diǎn),對象索引其實(shí)就是對象數(shù)組。這里和上一節(jié)中的屬性聯(lián)系起來講一下,屬性需要隱藏Get和Set方法,而在索引機(jī)制中,各個(gè)對象的Get或者Set方法是暴露出來的。比如下面的例子就比較清楚地說明了這一點(diǎn)。

  1. public class Skyscraper  
  2. {  
  3. Story[] stories;  
  4. public Story this [int index] {  
  5. get {  
  6. return stories [index];  
  7. }  
  8. set {  
  9. if (value != null) {  
  10. stories [index] = value;  
  11. }  
  12. }  
  13. }  
  14. ...  
  15. }  

C#指代(Delegate)

C#指代這個(gè)玩意很特別,它有點(diǎn)象指針,但又不完全是,不過大家還是可以把它理解為一種類型安全的、面向?qū)ο蟮闹羔?。(什么是類型安全和面向?qū)ο缶筒挥弥v了吧?)順便提一句,有很多書上把Delegate翻譯成代理,我覺得這樣翻不夠確切,翻譯成“指代”更恰當(dāng)些,道理上吻合,并且還符合它的本來意思——微軟本來就是用Delegate來“取代指針”,所以叫“指代”,呵呵。

說起指代,也許至今Sun還會(huì)對它憤憤不已,為什么呢?因?yàn)樵赟un的標(biāo)準(zhǔn)Java中是沒有這個(gè)東西的,它是微軟99年發(fā)布的MSVJ++6添加的 “新特性”。為此,兩家公司吵得不亦樂乎,并且還專門在網(wǎng)上寫了大量文章互相攻擊,有興趣的朋友可以去看看(只有英文版)。
◆http://www.Javasoft.com/docs/white/delegates.html
◆http://msdn.microsoft.com/visualj/technical/articles/delegates/truth.asp

話歸正傳,指代有什么特點(diǎn)呢?一個(gè)明顯的特點(diǎn)就是它具有了指針的行為,就好象從Java又倒回到了C++。C#指代完成的功能大概和C++里面的指針,以及Java中的接口相當(dāng)。但是,指代比起C++的“正宗指針”來又要高明一些,因?yàn)樗梢酝瑫r(shí)擁有多個(gè)方法,相當(dāng)于C++里面的指針能同時(shí)指向多個(gè)函數(shù),并且是類型安全的,這一點(diǎn)體現(xiàn)了它的“對象”特性;而比起Java的接口來,指代高明的地方在于它能可以不經(jīng)過內(nèi)部類就調(diào)用函數(shù),或者用少量代碼就能調(diào)用多種函數(shù),這一點(diǎn)體現(xiàn)了它的“指針”特性。

【編輯推薦】

  1. C#線程同步詳細(xì)分析
  2. C#探討木馬程序淺談
  3. C# Pop3Connection類簡介
  4. C#數(shù)據(jù)類型簡單介紹
  5. C#計(jì)算素?cái)?shù)序列淺談
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-08-12 18:35:36

C# ArrayLis

2009-08-26 11:30:16

C# Arraylis

2009-09-02 17:44:41

C#字符串處理

2009-08-25 10:24:29

C# delegate

2009-08-17 16:47:51

C# Anonymou

2009-09-02 17:20:50

C# Parsing

2009-08-10 16:30:56

C# BitmapDa

2009-07-31 14:15:38

C# 構(gòu)造函數(shù)

2009-08-12 15:43:02

操作C# Datase

2009-09-03 15:57:11

C# SystemMe

2009-08-12 09:41:28

C# Director

2009-08-04 08:48:44

C#內(nèi)置特性

2009-08-12 15:34:40

C# DBNull

2009-08-18 16:45:40

C# Raw Sock

2009-08-03 14:09:15

C#調(diào)用API

2009-08-03 14:54:23

值類型C#

2009-08-05 18:28:05

C#異常處理

2009-09-02 11:02:57

C#動(dòng)態(tài)數(shù)組

2009-08-18 09:26:07

C#線程功能

2010-01-15 18:35:25

C++的類
點(diǎn)贊
收藏

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