【问题标题】:how do i return arraylist from a function?如何从函数返回arraylist?
【发布时间】:2010-06-06 12:25:43
【问题描述】:

我从 msdn 学习了使用 arraylist 填充列表框控件的示例。 http://msdn.microsoft.com/en-us/library/1818w7we(v=VS.100).aspx

我想创建一个函数,该函数将返回 USStates 数组列表并将返回的值用作 listbox1 的数据源

    Dim USStates As New ArrayList()
    USStates.Add(New USState("Alabama", "AL"))
    USStates.Add(New USState("Washington", "WA"))
    USStates.Add(New USState("West Virginia", "WV"))
    USStates.Add(New USState("Wisconsin", "WI"))
    USStates.Add(New USState("Wyoming", "WY"))
    ListBox1.DataSource = USStates

    ListBox1.DisplayMember = "LongName"
    ListBox1.ValueMember = "ShortName

我尝试创建如下函数:

Public Shared Function FillList() As ArrayList()
    Dim USStates As New ArrayList()
    USStates.Add(New USState("Alabama", "AL"))
    USStates.Add(New USState("Washington", "WA"))
    USStates.Add(New USState("West Virginia", "WV"))
    USStates.Add(New USState("Wisconsin", "WI"))
    USStates.Add(New USState("Wyoming", "WY"))
    return usstates
end function

但它说错误: “System.Collections.ArrayList”类型的值无法转换为“System.Collections.ArrayList”的一维数组。

【问题讨论】:

    标签: vb.net function arraylist


    【解决方案1】:

    确保函数的返回类型正确(只是ArrayList,而不是ArrayList()。第一个表示您返回的是ArrayList,第二个表示您返回的是一个数组 ArrayList:

    Public Shared Function FillList() As ArrayList
        Dim USStates As New ArrayList()
        USStates.Add(New USState("Alabama", "AL"))
        USStates.Add(New USState("Washington", "WA"))
        USStates.Add(New USState("West Virginia", "WV"))
        USStates.Add(New USState("Wisconsin", "WI"))
        USStates.Add(New USState("Wyoming", "WY"))
        return usstates
    end function
    

    【讨论】:

      【解决方案2】:

      您需要从函数定义的末尾删除括号。

      Public Shared Function FillList() as ArrayList
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-02
        • 2015-03-09
        • 1970-01-01
        • 2014-03-27
        • 2017-01-31
        • 1970-01-01
        • 2022-12-24
        • 2015-07-01
        相关资源
        最近更新 更多