从函数返回List(Of KeyValuePair)并创建局部变量

时间:2015-01-09 17:11:56

标签: vb.net list keyvaluepair

早上的书呆子!我在模块(getOrderDetails)中编写了一个函数,它返回一个List(Of KeyValuePair)我需要一种方法从getOrderDetails函数返回列表并创建列表的本地实例。下面是代码:

Dim array As List(Of KeyValuePair(Of String, String)) = New List(Of KeyValuePair(Of String, String)) 'Silly list your not an array

Public Function getOrderDetails()
*** MYSQL CODE HERE ***

 While r.Read
   For i As Integer = 0 To columns.Count - 1
      array.Add(New KeyValuePair(Of String, String)(columns(i), r(i))) 'Add values from returned sql
   Next
 End While
r.Close()

Return array
End Function

现在问题来了,当我想将它返回到本地列表时,所以我不必继续创建不必要的MySQL连接。

我试过了:

Dim orderDetailsList As New List(Of KeyValuePair(Of String, String))
orderDetailsList = getOrderDetails(orderId)

Dim orderDetailsList As List(Of KeyValuePair(Of String, String)) = getOrderDetails(orderId)

然而,这些都给了我一个空的期望。 “对象引用未设置为对象的实例。”

我可以遍历getOrderDetails并访问列表而不会出现错误,但我有多个循环,我不想继续创建mysql连接,因此需要列表的本地实例。

如果我需要显示更多代码或我的问题不清楚,请告诉我。谢谢!

0 个答案:

没有答案