2013-01-16 34 views
0

我一直在尋找通過舊代碼來熟悉我用的系統,發現了一段代碼,我覺得可以用更好的。替代使用集合類

在這裏我所付出的是一些數據被添加到集合(約150字符串變量,有的用兩個變量(VARIABLENAME/VariableValue),大多數只有一個(VARIABLENAME))。它會嘗試在模塊級字符串變量設置爲傳遞給它的索引(VARIABLENAME)集合的項目,然後,如果有一個值VariableVAlue設置爲模塊級變量。

我覺得需要工作的是,如果集合傳遞了一個變量,並且該變量沒有值,它將返回一個「」,這將導致運行時錯誤,因此有一個On Error GoTo處理程序代碼來手動添加一個「」收藏。我覺得有一個更好的方法來做到這一點,而不是知道會有一個運行時問題,然後在捕獲它之後解決它。會不會有一種方法來返回「」不拋出異常,或者使用數組也會在這裏工作,因爲它也是一個「集合」?

下面是一個例子,試圖幫助可視:

Public Function GetCollectionVariable(ByVal varName as string) as String 
If collection1 Is Nothing Then 
     m_collection1 = New Collection 
    End If 
On Error GoTo Handler 
GetCollectionVariable = collection1.Item(VarName) 
exit function 

Handler: 
collection1.add("", VarName) 
GetCollectionVariable = "" 
End FUnction 

感謝您的時間!

+0

哪種類型collection1? –

+0

集合被聲明爲暗淡collection1爲集合 – Criel

+0

集合不是一個具體類型,是你的代碼中創建的收藏?你創建了哪種具體類型? –

回答

2

如果Collection1是一本字典,你可以使用TryGetValue