真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

本篇內(nèi)容主要講解“C#的函數(shù)指針數(shù)組的用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C#的函數(shù)指針數(shù)組的用法”吧!

創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、建鄴網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為建鄴等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

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

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

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


N……退出

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


退出
Void Logout(UserInfouser,Messagemsg);

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

publicstaticvoidAnalyze(UserInfouser,Messagemessage)  ...{  switch(msg.Class)//Class是協(xié)議的類型標(biāo)志,下同  ...{  case1:  Login(user,message);  break;  case2:  GetFriendList(user,message);  break;  case3:  ModifySelfInfomation(user,message);  break;  …  caseN:  Logout(info,msg);  break;  default:  break;  }  }

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

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

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

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

MainAnalyzer=newAnalyzerHandler[]  ...{  Login,  GetFriendList,  ModifySelfInfomation,  …  Logout  }

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

publicstaticvoidAnalyze(UserInfouser,Messagemessage)  ...{  if(message.Class>MainAnalyzer.Length||message.Class<0)//檢查Class  有沒有超出有效范圍  return;  MainAnalyzer[message.Class-1](user,message);//因?yàn)閰f(xié)議是從1開始  而數(shù)組的下標(biāo)是從0開始的,所以我們要在協(xié)議類型減去1  }

到此,相信大家對“C#的函數(shù)指針數(shù)組的用法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


分享名稱:C#的函數(shù)指針數(shù)組的用法
網(wǎng)站URL:http://weahome.cn/article/pgohgh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部