HOW TO:加入、刪除和擷取集合項目 (Visual Basic)
Visual Basic Collection 類別包含內建功能讓您可以加入、刪除和擷取項目。
建立或取得新的項目 (例如新客戶) 後,您可能會想將該項目加入集合。
當某項目不再屬於某集合時,可能就會想將該項目從集合中刪除,例如,當員工離職時。
您可能想要擷取集合中的某個項目以編輯其內容,例如,變更學生的電話號碼。
注意事項 |
---|
在增加及刪除項目時,Collection 物件會自動更新其數值索引數目。 因此,任何指定項目的數值索引會經常改變。 因此,請不要儲存數值索引值並預期它稍後會在程式中擷取相同的項目。 請使用索引鍵來這麼做。 |
若要將項目加入集合
請使用 Add 方法,並依據其 Key 來指定項目。
object.Add(Item, Key [, {Before | After}])
例如,若要使用工作訂單的 ID 屬性當做索引鍵,將工作訂單物件加入工作訂單集合,就可以執行下列呼叫。
workOrders.Add(woNew, woNew.ID)
前述呼叫假設 ID 屬性為字串。 如果屬性是數字 (例如,Long 整數),請使用 ToString 方法將其轉換成 Key 引數所需的 String 值。
workOrders.Add(woNew, woNew.ID.ToString())
索引鍵的使用是選擇性 (Optional)。 如果不想索引鍵與集合中的物件相關聯,可以加入不含索引鍵的物件。
workOrders.Add(woNew)
您可以使用選擇性引數 Before 和 After 來維護已排序的物件集合。 要加入的項目會放在集合中,Before 或 After 引數會分別放在所識別項目的前面或後面。 例如,將 Before 設定等於 1 插入項目至集合的開頭,因為 Collection 物件是以 1 為起始。
workOrders.Add(woNew, woNew.ID, 1)
同樣地,After 引數會在指定的索引之後加入項目。 以下範例將項目加入做為第三個項目。
workOrders.Add(woNew, woNew.ID,,2)
您可以指定 Before 或 After 的值,但不可同時指定。
若要刪除集合中的項目
請使用 Remove 方法,並依據其 Index 或 Key 來指定項目。
object.Remove({Index | Key})
Index 引數是要刪除項目的位置。 Key 引數與用來將項目增加至集合中的字串相同。 如果集合中第三個項目的索引鍵是 "W017493",則您可使用下列任一陳述式來刪除它。
workOrders.Remove(3) workOrders.Remove("W017493")
若要刪除集合中所有的項目
請使用 Clear 方法。
object.Clear()
Clear 方法會將集合清空。
若要擷取集合中的項目
請使用 Item 屬性,並依據其 Index 或 Key 來指定項目。
variable = object.Item({Index | Key})
至於 Remove 方法,Index 引數是集合中的項目位置,而 Key 引數則是加入項目時所使用的字串。 採用與 Remove 方法的相同範例,下列任一陳述式都會擷取集合中的第三個項目。
woCurrent = workOrders.Item(3) woCurrent = workOrders.Item("W017493")
注意事項 如果使用數字做為索引鏈,在將數字傳遞到 Add 或 Remove 方法或 Item 屬性之前,必須使用 ToString 方法將數字轉換成字串。 Visual Basic Collection 物件會假設數字為索引而非索引鍵字串。
如果您在編譯時期即知道索引鍵,也可以使用字典存取運算子 (!) 來存取集合項目,而不必將索引鍵包含在引號或括弧中。 前述呼叫的程式碼可能如下。
woCurrent = workOrders!W017493