【问题标题】:How to declare an optional ArrayList with elements inside....?如何声明一个包含元素的可选 ArrayList ......?
【发布时间】:2010-11-19 16:24:41
【问题描述】:

我有一个类似的界面

Public Shared Function myfunction(Byval myvar as string, 
                               Optional ByVal myarray As ArrayList = Nothing) As String

但我想声明一个带有默认值的可选数组列表...该怎么做?

【问题讨论】:

    标签: .net vb.net arraylist optional-parameters


    【解决方案1】:

    你可以改用重载

    Public Shared Function myfunction(ByVal myvar as String) As String
        Dim myArray as ArrayList = new ArrayList()
        '' populate here
        Return myFunction(myvar, myarray)
    End Function
    
    Public Shared Function myfunction(ByVal myvar as string, _
        ByVal myarray as ArrayList) As String
    
    End Function
    

    【讨论】:

    • +1 用于实际解决 OP 的问题,而不是简单地说它不能完成。
    【解决方案2】:

    你不能。

    默认参数值必须是编译时常量;您不能使用对象 instanec 作为默认值(字符串除外)。

    相反,您可以检查函数内部是否为Nothing,如果是,则使用默认值填充它。

    【讨论】:

    • @Brad:不,你没有。 ParamArray 不能用于提供一组非空的默认值。
    • 话虽如此,我不明白为什么 mellamokb 的回答不完全符合要求。
    • @Chris:这正是我最后的意思,除了重载而不是可选参数。
    • 那么也不可能将字符串数组作为可选参数传递,因为它始终是一个对象,对吧?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 2020-05-31
    相关资源
    最近更新 更多