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

C#的函數(shù)指針數(shù)組

開發(fā) 后端
本文介紹C#函數(shù)指針數(shù)組,在C++和Delphi中我們可以用C#函數(shù)指針數(shù)組來很好的解決這個問題。那我們在C#數(shù)組是不是也可以這樣去解決這個問題呢?答案是肯定的。

在向大家詳細介紹C#數(shù)組之前,首先讓大家了解下C#函數(shù)指針數(shù)組,以后全面介紹C#數(shù)組。

在大家開發(fā)網(wǎng)絡(luò)通訊軟件的時候,應(yīng)該都碰到過這種情況,在定義好通訊協(xié)議后要在程序中實現(xiàn)協(xié)議相應(yīng)的功能。如:

一個聊天程序有如下定義:
1……登陸
2……獲取好友列表
3……修改自己資料


N……退出

每個功能由如下C#函數(shù)指針數(shù)組實現(xiàn):
登陸
Void Login(UserIinfouser,Messagemsg);
獲取好友列表
void GetFriendList(UserInfouser,Messagemsg);
修改自己資料
void ModifySelfInfomation(UserInfouser,Messagemsg);


退出
Void Logout(UserInfouser,Messagemsg);

那現(xiàn)在我們要將它一一對應(yīng)起來,我們該怎么做呢?很多人也許會這樣做

  1. publicstaticvoidAnalyze(UserInfouser,Messagemessage)  
  2. ...{  
  3. switch(msg.Class)//Class是協(xié)議的類型標志,下同  
  4. ...{  
  5. case1:  
  6. Login(user,message);  
  7. break;  
  8. case2:  
  9. GetFriendList(user,message);  
  10. break;  
  11. case3:  
  12. ModifySelfInfomation(user,message);  
  13. break;  
  14. …  
  15. caseN:  
  16. Logout(info,msg);  
  17. break;  
  18. default:  
  19. break;  
  20. }  

這樣做看起來沒有什么不妥。但是……如果協(xié)議條數(shù)非常多或者說很復(fù)雜呢?比如說:我的協(xié)議是二級甚至是三級分類的呢?用更多的switch和case?這樣顯然不是一個好主意。在C++和Delphi中我們可以用C#函數(shù)指針數(shù)組來很好的解決這個問題。那我們在C#是不是也可以這樣去解決這個問題呢?答案是肯定的。我們可以在C#中用委托數(shù)組來解決這個問題。

讓我們先定義一個C#委托和C#數(shù)組:

private delegate void AnalyzerHandler(UserInfo user, Message message);
static AnalyzerHandler[] MainAnalyzer;

然后將C#函數(shù)指針數(shù)組都放到這個C#數(shù)組里:

  1. MainAnalyzer=newAnalyzerHandler[]  
  2. ...{  
  3. Login,  
  4. GetFriendList,  
  5. ModifySelfInfomation,  
  6. …  
  7. Logout  

那我們怎么調(diào)用呢?很簡單,這樣就行了!

  1. publicstaticvoidAnalyze(UserInfouser,Messagemessage)  
  2. ...{  
  3. if(message.Class>MainAnalyzer.Length||message.Class<0)//檢查Class  
  4. 有沒有超出有效范圍  
  5. return;  
  6. MainAnalyzer[message.Class-1](user,message);//因為協(xié)議是從1開始  
  7. 而數(shù)組的下標是從0開始的,所以我們要在協(xié)議類型減去1  

【編輯推薦】

  1. C#在應(yīng)用程序間發(fā)送消息實現(xiàn)淺析
  2. 一些C#時間類型的入門知識
  3. C#接口和抽象類技術(shù)特點淺析
  4. 一個C#時間計算的實例
  5. C#繼承知識詳解
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-09-16 09:00:15

C#數(shù)組C#指針

2009-09-27 11:14:09

C#數(shù)組

2009-07-31 14:20:46

結(jié)構(gòu)數(shù)組C#函數(shù)的參數(shù)

2009-08-07 09:29:22

C#數(shù)組C#函數(shù)

2011-07-20 17:54:02

C++

2009-08-18 17:29:02

C#使用指針

2021-01-13 06:58:35

C語言函數(shù)指針

2010-02-01 13:08:46

C++函數(shù)指針C#托

2010-01-18 17:23:55

函數(shù)

2011-07-15 01:20:58

C指針函數(shù)函數(shù)指針

2009-08-13 15:48:57

C#指針

2009-08-21 15:16:23

C#使用指針

2009-08-03 17:12:40

C#指針操作

2009-08-18 17:37:57

C#固定指針

2024-03-28 18:12:28

指針函數(shù)指針C++

2009-09-02 10:58:02

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

2009-07-30 15:24:13

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

2009-09-17 17:13:54

C#數(shù)組

2010-01-18 17:23:55

函數(shù)

2010-01-18 17:23:55

函數(shù)
點贊
收藏

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

主站蜘蛛池模板: 久久九精品| 国产精品99久久免费观看 | 日本 欧美 三级 高清 视频 | 国产亚洲高清视频 | 日日骚网 | 国产你懂的在线观看 | 国产成人精品视频在线观看 | 国产视频中文字幕 | 日韩影音 | 日韩视频三区 | 久久精品一区二区三区四区 | 黄瓜av| 国产日韩一区二区 | 亚洲视频一区在线 | 中文字幕一区在线 | 97超碰站| 国产精品黄 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 国产精品久久久久久久久久免费看 | 日韩精品在线看 | 精品国产18久久久久久二百 | 欧美自拍第一页 | 亚洲精品中文字幕 | 国产精品视屏 | 欧美日韩精品一区 | 国产亚洲精品精品国产亚洲综合 | 国产精品一区二区视频 | 欧美不卡一区二区三区 | 亚洲美女一区二区三区 | 亚洲巨乳自拍在线视频 | 特级毛片爽www免费版 | 日韩欧美视频 | 韩日视频在线观看 | 国产综合久久久久久鬼色 | 欧美成人一区二区 | 久久久久国产一区二区三区四区 | 亚洲播放 | 91精品一区二区 | 亚洲精品在线视频 | 国产精品成人一区二区三区 | 欧美精品一区二区三区蜜桃视频 |