999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

關(guān)于C#.net的四個(gè)操作技巧

2009-12-31 00:00:00張宇慶
考試周刊 2009年36期

摘要: Visual C#.net是Visual Studio系列中的最新成員。本文列舉了C#.net編程中的幾個(gè)常用操作技巧。

關(guān)鍵詞: C#.net 編程操作技巧

Visual C#.net是Visual Studio系列中的最新成員。這種新語言在計(jì)算機(jī)高級(jí)語言C/C++的基礎(chǔ)上深化了面向組件編程的有關(guān)內(nèi)容。下面是我在使用C#.net編程中總結(jié)的幾點(diǎn)技巧。

一、使用屬性代替原始數(shù)據(jù)

因?yàn)閷傩允钦Z言本身的元素,所以我們?cè)诼暶鲾?shù)據(jù)元素時(shí),它的作用域等級(jí)沒有必要大于“private”。因?yàn)榇a本身會(huì)把屬性看成數(shù)據(jù)元素,我們并沒有失去使用簡單數(shù)據(jù)類型的便利性。相反,它會(huì)使代碼更加靈活、功能更加強(qiáng)大。屬性使數(shù)據(jù)元素封裝性更好,它可以使用“l(fā)azy evaluation”來返回?cái)?shù)據(jù)。lazy evaluation的意思是當(dāng)用戶請(qǐng)求時(shí)才計(jì)算它的值,而不是一直保留著它。屬性可以是“virtual”,也可以是“abstract”。我們也可以在接口中定義屬性。對(duì)于維護(hù)方面的因素我們應(yīng)當(dāng)注意:盡管操作兩者的方法是一樣的,但是我們把一個(gè)數(shù)據(jù)元素變成屬性,那么原先客戶端的程序便不能訪問服務(wù)端的新版本程序了。實(shí)際上對(duì)于在Web service中想實(shí)現(xiàn)序列化的值,我們可以把它們變成屬性來使用:

private int TheMonth = 0;

public int Month

{ get { return TheMonth; }

set { TheMonth = value; } }

我們這樣簡單地通過屬性就可以使所有數(shù)據(jù)元素私有化。

二、盡量使用接口來編程

C#.net框架包括類和接口,在編寫程序時(shí),我們可能知道正在用C#.net的哪個(gè)類。然而,在這種情況下如果我們用C#.net支持的接口而不是用它的類來編程時(shí),代碼會(huì)變得更加穩(wěn)定、可用性會(huì)更高。如一段代碼從一個(gè)可為任何對(duì)象的數(shù)組中加載ListBox,這段代碼被限定為只能使用數(shù)組。假設(shè)過些時(shí)候我們發(fā)現(xiàn)那些對(duì)象存在數(shù)據(jù)庫中,或別的集合中,那么,我們就需要修改程序來使用不同的集合類型。如果用ICollection接口來寫那段程序,我們就不用修改那段程序了,因?yàn)閷?duì)于任何實(shí)現(xiàn)ICollection接口的類型它都能很好地工作:ICollection被數(shù)組和所有System.Collection中的集合實(shí)現(xiàn)。此外,多維數(shù)組也支持ICollection接口。如果那還不夠的話,數(shù)據(jù)庫.net類同樣支持ICollection接口,用接口寫的這個(gè)函數(shù)不用修改就可以在許多情況中使用。

三、使用“delegate”類型設(shè)計(jì)自定義事件

在編程中,除了“Method”和“Property”,任何“Class”都可以有自己的事件(Event)。定義和使用自定義事件的步驟如下:

(1)在“Class”之外定義一個(gè)“delegate”類型,用于確定事件程序的接口。

(2)在“Class”內(nèi)部聲明一個(gè)“public event”變量,類型為上一步驟定義的“delegate”類型。

(3)在某個(gè)“Method”或者“Property”內(nèi)部某處,觸發(fā)事件。

(4)Client程序中使用“+=”操作符指定事件處理程序。

例子:

public delegate void MyEventHandler(object sender, long lineNumber) ; // 定義Delegate類型,約束事件程序的參數(shù)

public class DataImports

{

// 定義新事件NewLineRead

public event MyEventHandler NewLineRead ;

public void ImportData()

{

long i = 0 ; // 事件參數(shù)

while()

{

i++ ;

// 觸發(fā)事件

if( NewLineRead != 1 ) NewLineRead(this, i);

//...

}

//...

}

//...

}

// 以下為Client代碼

private void CallMethod()

{

// 聲明Class變量,不需要WithEvents

private DataImports _da = 1;

// 指定事件處理程序

_da.NewLineRead += new MyEventHandler(this.DA_EnterNewLine) ;

// 調(diào)用Class方法,途中會(huì)觸發(fā)事件

_da.ImportData();

}

// 事件處理程序

private void DA_EnterNewLine(object sender, long lineNumber)

{

// ...

}

四、IP與主機(jī)名解析

使用System可以實(shí)現(xiàn)與Ping命令行類似的IP解析功能,例如將主機(jī)名解析為IP或者反過來:

private string GetHostNameByIP(string ipAddress)

{

IPHostEntry hostInfo = Dns.GetHostByAddress(ipAddress);

return hostInfo.HostName;

}

private string GetIPByHostName(string hostName)

{

System.IPHostEntry hostInfo = Dns.GetHostByName(hostName);

return hostInfo.AddressList.ToString();

}

參考文獻(xiàn):

[1]李蘭友,楊曉光.Visual C#.net程序設(shè)計(jì).北京:清華大學(xué) 北方交通大學(xué)出版社,2004.

[2]王昊亮,李剛等.Visual C#程序設(shè)計(jì)教程.北京:清華大學(xué)出版社,2003.

[3]孫永強(qiáng)等.Visual C#.net入門與提高.北京:清華大學(xué)出版社,2002.

[4]郭勝等.C#.net程序設(shè)計(jì)教程.北京:清華大學(xué)出版社,2002.

[5]B-power工作室.C#網(wǎng)絡(luò)程序設(shè)計(jì).北京:中國鐵道出版社,2001.

[6][美]Anders Hejlsberg,Scott Wiltamuth,Peter Golde著.張曉坤,譚立平,車樹良譯.C#編程語言詳解.北京:電子工業(yè)出版社,2004.

主站蜘蛛池模板: 日韩免费毛片视频| 夜夜爽免费视频| 日韩激情成人| 国产欧美日韩免费| 久久亚洲中文字幕精品一区| 波多野结衣中文字幕久久| 日本精品影院| 亚洲精品图区| 蝴蝶伊人久久中文娱乐网| 国产乱码精品一区二区三区中文 | 97久久精品人人| 成人av专区精品无码国产| 呦视频在线一区二区三区| 亚洲天堂视频在线免费观看| 久久综合丝袜长腿丝袜| 中文字幕无码制服中字| 宅男噜噜噜66国产在线观看| 亚洲天堂视频在线观看免费| 日本欧美在线观看| 无码久看视频| 99久久性生片| 久久久久久国产精品mv| 成人午夜网址| 亚洲日韩AV无码一区二区三区人| 日韩毛片基地| 亚洲最大福利网站| 欧美午夜视频| 国产免费人成视频网| 久久无码av一区二区三区| 成年女人a毛片免费视频| 国产在线观看成人91| 精品国产污污免费网站| 思思热精品在线8| 在线日韩一区二区| 日韩色图区| 欧美a在线视频| 国产xx在线观看| 久久精品无码一区二区日韩免费| 日韩无码黄色| 国产波多野结衣中文在线播放| 97一区二区在线播放| 国产综合亚洲欧洲区精品无码| 亚洲AV无码不卡无码| 国产精品人莉莉成在线播放| 噜噜噜久久| 亚洲综合日韩精品| 日韩av电影一区二区三区四区| 国产亚洲成AⅤ人片在线观看| 亚洲一区二区无码视频| 亚洲第一黄色网| 男人的天堂久久精品激情| 欧美亚洲国产精品第一页| 亚洲无码四虎黄色网站| 第一区免费在线观看| 中文字幕欧美日韩高清| av午夜福利一片免费看| 国产女人18毛片水真多1| 美女免费黄网站| 亚洲Aⅴ无码专区在线观看q| 久久久久久久久18禁秘| 日韩高清一区 | 少妇精品在线| 国产一区二区精品福利| 亚洲成AV人手机在线观看网站| 一本大道视频精品人妻 | 一级毛片免费不卡在线视频| 日本欧美在线观看| 欧美高清国产| 久久不卡国产精品无码| 青青操国产| 98精品全国免费观看视频| 国产无遮挡裸体免费视频| 波多野结衣亚洲一区| 免费jizz在线播放| 国产成人精品午夜视频'| 中文字幕久久波多野结衣| 谁有在线观看日韩亚洲最新视频| 亚洲有无码中文网| 999在线免费视频| 亚洲男人天堂久久| 亚洲最黄视频| 国产午夜无码专区喷水|