【问题标题】:Alternatives to using a Collection class使用 Collection 类的替代方法
【发布时间】:2013-01-16 14:57:55
【问题描述】:

我一直在查看旧代码以熟悉我使用的系统,并发现了一段我觉得可以更好地使用的代码。

这里发生的是一些数据被添加到集合中(大约 150 个字符串变量,一些有两个变量(variableName/VariableValue),大多数只有一个(VariableName))。它将尝试将模块级别的字符串变量设置为集合的项目,然后将索引(变量名称)传递给它,然后如果有一个值将 VariableVALue 设置为模块级别的变量。

我觉得需要做的是,如果集合被传递了一个变量并且该变量没有值,它将返回一个“”,这将导致运行时错误,因此有一个 On Error GoTo Handler 代码来手动添加一个"" 到集合。我觉得有更好的方法来做到这一点,而不是知道会有一个运行时问题然后在捕获它之后解决它。有没有办法让 return "" 不抛出异常,或者使用 Array 也可以在这里工作,因为它也是一个“集合”?

这是一个尝试帮助可视化的示例:

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

感谢您的宝贵时间!!

【问题讨论】:

  • collection1是什么类型?
  • 集合被声明为 dim collection1 As Collection
  • Collection 不是具体类型,您的代码是否创建了该集合?您创建的具体类型是什么?

标签: vb.net winforms exception collections


【解决方案1】:

如果Collection1 是字典,则可以使用TryGetValue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多