我如何从函数返回arraylist?

时间:2010-06-06 12:25:44

标签: vb.net function arraylist

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

我想创建一个函数,它将返回USStates arraylist并使用返回的值作为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的1维数组”。

2 个答案:

答案 0 :(得分:6)

确保函数的返回类型正确(仅ArrayList,而不是ArrayList()。第一个意味着您返回ArrayList,第二个意味着您返回 {<1}}的数组

ArrayList

答案 1 :(得分:0)

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

Public Shared Function FillList() as ArrayList