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ù)元素,我們并沒有失去使用簡(jiǎn)單數(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; } }

我們這樣簡(jiǎn)單地通過屬性就可以使所有數(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ì).北京:中國(guó)鐵道出版社,2001.

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

主站蜘蛛池模板: 成人精品在线观看| 欧美无遮挡国产欧美另类| 日本三级精品| 欧美一级专区免费大片| 久久91精品牛牛| 成人午夜亚洲影视在线观看| 久久96热在精品国产高清| 91国内外精品自在线播放| 国产精品免费入口视频| 国产理论精品| 亚洲日韩精品伊甸| 日韩在线网址| 亚洲最大福利网站| 亚洲综合狠狠| 三上悠亚一区二区| jizz在线免费播放| 成·人免费午夜无码视频在线观看| 亚洲国产看片基地久久1024| 欧美区一区二区三| 精品久久国产综合精麻豆| jizz在线免费播放| av在线5g无码天天| 国产成人无码Av在线播放无广告| 美女无遮挡免费视频网站| 欧美人人干| 欧美日本在线| 亚洲综合色吧| 欧美特黄一级大黄录像| 在线五月婷婷| 大乳丰满人妻中文字幕日本| 亚洲乱码视频| 国产精品污污在线观看网站| 在线欧美日韩| 99久久精品美女高潮喷水| 91在线无码精品秘九色APP| 99热这里只有精品在线观看| 亚洲日本在线免费观看| 蜜芽一区二区国产精品| 91视频区| 狠狠v日韩v欧美v| 熟妇人妻无乱码中文字幕真矢织江| 国产第一色| 欧美天天干| 亚洲天堂网在线观看视频| 日本不卡在线| 色窝窝免费一区二区三区| 免费不卡视频| 在线观看亚洲天堂| 日韩精品毛片| 亚洲视频色图| 亚洲国产欧美自拍| 91青草视频| 成人精品免费视频| 中国美女**毛片录像在线| 成年A级毛片| 久久亚洲欧美综合| 日韩a级片视频| 亚洲成人精品在线| 99久视频| 亚洲二区视频| 国产一级在线观看www色 | 精品伊人久久久久7777人| 亚洲综合色区在线播放2019| 久久精品人人做人人爽电影蜜月| 狠狠色噜噜狠狠狠狠奇米777 | 91精品福利自产拍在线观看| 亚洲无线一二三四区男男| 无码区日韩专区免费系列| 国产SUV精品一区二区6| 女人一级毛片| 高清不卡一区二区三区香蕉| 久久亚洲日本不卡一区二区| 91九色最新地址| 精品久久久久久成人AV| 国内丰满少妇猛烈精品播| 91啪在线| 亚洲一区免费看| 91精品啪在线观看国产| 国产在线观看高清不卡| 亚洲国产亚综合在线区| 青青草原国产av福利网站| 欧美成人一区午夜福利在线|