日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
C#Hashtable對象分析

C#語言有很多值得學習的地方,這里我們主要介紹C# Hashtable對象,包括介紹兩個object類型的對象:_processStart、_processEnd等方面。

程序中聲明了一個Hashtable類型的對象:_eventList,每一個Class1類的實體都擁有這個對象,另外還聲明了兩個object類型的對象:_processStart、_processEnd,注意!這兩個對象是static(靜態(tài))類型,也就是說,不管有多少個對象實體,都只須花費兩個object的空間。答案是對象所占的內存大小不同,當用戶創(chuàng)建一個對象實體之后,此對象占用了一個C# Hashtable對象的內存空間,在用戶設定了ProcessStart事件時,此對象隨之占用了一個Hashtable元素的內存空間,若用戶未設定事件,那么此元素的內存空間就不會被占用,此方式可以省下不必要付出的內存成本。再詳細點說,假設Class1擁有1000個事件,那么程序的做法在對象創(chuàng)建初期就會占用1000個event變量的內存空間,而程序則要付出一個C# Hashtable對象及1000個static變量的代價,當用戶創(chuàng)建了第二個對象時,程序要再次占用了1000個event變量的代價,但一下程序只須占用一個C# Hashtable對象的代價

.NET Framework內建的事件支持

 
 
 
  1. public class Component1:Component  
  2. {  
  3. private static object _processStart = new object();  
  4. public event EventHandler ProcessStart  
  5. {  
  6. add  
  7. {  
  8. Events.AddHandler(_processStart,value);  
  9. }  
  10. remove  
  11. {  
  12. Events.RemoveHandler(_processStart,value);  
  13. }  
  14. }  
  15. public void Process()  
  16. {  
  17. EventHandler handler = (EventHandler)Events[_processStart];  
  18. if(handler != null)  
  19. handler(this,null);  
  20. }  

【編輯推薦】

  1. C#運用Trace語句
  2. C#調用ImOK學習筆記
  3. C#實現OLE DB的DB2開發(fā)
  4. C#使用ADOX學習經驗
  5. C#信息架構視圖

網站標題:C#Hashtable對象分析
URL分享:http://www.5511xx.com/article/cojhisg.html