討論VB.NET使用Sorted Lists
在向大家詳細(xì)介紹VB.NET使用Sorted Lists之前,首先讓大家了解下SortedList的優(yōu)點(diǎn)和劣勢(shì),然后全面介紹VB.NET使用Sorted Lists。程序開發(fā)員向分類的對(duì)象集中添加或刪除條目時(shí),可以使用SortedLists。在本文,我將闡述如何實(shí)現(xiàn)VB.NET使用Sorted Lists。
Visual Basic.NET是基于微軟.NET Framework之上的面向?qū)ο蟮闹虚g解釋性語(yǔ)言,可以看作是Visual Basic在.Net Framework平臺(tái)上的升級(jí)版本,增強(qiáng)了對(duì)面向?qū)ο蟮闹С帧5捎诟膭?dòng)太大,導(dǎo)致VB.net對(duì)VB的向后兼容性不好,在業(yè)界引起不小的爭(zhēng)議。
大多的VB.Net程序員使用Visual Studio .Net作為IDE(integrated development environment). SharpDevelop是另一種可用的開源的IDE。VB.Net需要在.Net Framework平臺(tái)上才能執(zhí)行。
SortedList的優(yōu)點(diǎn)和劣勢(shì)
System.Collections.SortedList是基于鍵值的字典類型,它允許按照一定順序存儲(chǔ)條目。這在處理已經(jīng)排好順序的內(nèi)容是極有優(yōu)勢(shì)的。SortedList方便之處在于付出更小的加法代價(jià)和更小的刪除代價(jià)。SortedList使用兩個(gè)數(shù)組:一個(gè)存儲(chǔ)鍵值,另一個(gè)存儲(chǔ)數(shù)據(jù)或?qū)ο髤⒖肌?/P>
VB.NET使用Sorted Lists時(shí),請(qǐng)記住對(duì)象是以基于鍵值而不是基于對(duì)象進(jìn)行存儲(chǔ);因此,鍵值需要支持IComparable,即整型或者字符型。否則,在定義SortedList時(shí),自定義一個(gè)IComparer作為SortedList的參數(shù)。
范例
在Listing A的代碼示例中,我定義了一個(gè)SortedList類的新實(shí)例:srtList,同時(shí)也定義了一個(gè)用于保存特殊條目的DictionaryEntry,它被存儲(chǔ)在SortedList中。然后,我使用“添加”方法在列表中添加了3個(gè)條目。
注意:我添加的條目是a,b,c,其鍵值為1,3,2。這是為了說(shuō)明:條目被立即存入SortedList,并且以其鍵值進(jìn)行存儲(chǔ)。為了確定這一點(diǎn),我創(chuàng)建了一個(gè)循環(huán),以遍歷srtList中所有條目,并且依次顯示其鍵值和值。正如所想的,顯示的結(jié)果如下:鍵值:1;值:a;鍵值:2;值:c, 鍵值:3;值:b。
【編輯推薦】