VB Collection (集合)物件示例

2021-05-23 08:32:58 字數 1844 閱讀 9506

'vb:collection (集合)物件示例

'━━━━━━━━━━━━━━━━━━━━━━━━━━

'本示例建立乙個命名為 myclasses 的 collection 物件,再建立乙個對話方塊,讓使用者可從對話方塊中將物件建立到該集合物件中。

'若要觀察程式如何工作,請先在「插入」選單上選擇「類模組」命令,然後在 class1 的模組級中宣告乙個公用變數,

'命名為 instancename(型別為 public instancename),此變數用來儲存每個類例項的名稱。不要更改類的預設名稱 class1。

'將下列**複製到另乙個模組的「通用」節中,然後在另乙個過程中用 classnamer 語句使它啟動啟用。

'(本示例僅使用支援類的主機應用程式。)

sub  classnamer()

dim  myclasses as new collection      

' 建立乙個集合物件(collection)。

dim  num                              

' 計數用變數,用來對物件的個數計數。

dim  msg as 

string

' 提示資訊用變數。

dim  thename, myobject, namelist      

' 物件資訊用變體。

dodim  inst as new class1           

' 建立 class1 的新例項。

num = num + 1                    

' 把計數變數 num 加一,然後要求輸入新物件個體的名稱。

msg = 

"please enter a name for this object. "  & 

chr (13) & 

"press cancel to see names in collection. "

thename = 

inputbox (msg, 

"name the collection items " )

inst.instancename = thename      

' 將名稱送入物件例項。

if  inst.instancename <> 

" "then

' 若使用者輸入了名稱,將它加入集合。

myclasses.add item:=inst, key:=

cstr (num)  

' 將命名的物件加入集合。

endif

set  inst = 

nothing

' 清除當前的引用,為對下乙個物件做準備。

loop

until  thename = 

" "foreach  myobject 

in  myclasses       

' 建立名稱列表。

namelist = namelist & myobject.instancename & 

chr (13)

next  myobject

msgbox  namelist, , 

"instance names in myclasses collection "

' 將名稱列表在訊息框中顯示出來。

for  num = 1 

to  myclasses.count       

' 從集合中刪除名字。

myclasses.remove 1               

' 每刪除乙個物件後,集合會自動重排順序,故每次迭代時只需刪除第乙個物件即可。

next

endsub

對集合的理解

集合的話主要有兩大介面 乙個是collection介面,另乙個是map介面1.collection中,有三個子介面 set,list,queue a.set介面 不可重複 1 hashset 無序 事實上,內部是根據元素的hashcode進行排序的 2 treeset 按照比較結果的公升序進行進行排...

Dictionary 鍵值對集合

1 鍵值對集合初始化,宣告鍵和值的資料型別 2 dictionary dic new dictionary 3 新增資料 4 dic.add 1 張三 5 dic.add 2 李四 6 dic.add 3 王五 7 dic.add 4 趙六 8 鍵值對集合中的鍵必須是唯一的9 鍵值對集合中的值是可以...

C Hashtable鍵值對集合

一 hashtable鍵值對集合相當於乙個字典 二 在hashtable中,鍵是唯一的,而值可以不唯一 三 hashtable也需要建立物件 四 hashtable中的常用方法 1.新增元素 1 add hashtable ht new hashtable ht.add 1,5 ht.add abc...