2013-01-16 33 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