Arrays 从数据表填充数组

Arrays 从数据表填充数组,arrays,vb.net,datatable,Arrays,Vb.net,Datatable,到目前为止,我有以下代码: Dim arrayOfResults As UInteger() Dim dt As DataTable Dim r As DataRow For i = 0 To dt.Rows.Count - 1 Next 我不知道在for循环中放什么,我需要访问每一行的datatable的第一列,并将其存储到数组中。那么会是这样吗 for loop arrayOfResults.? = dt.Rows(i)("Mat") next 或: 或: 或: 或: 有

到目前为止,我有以下代码:

Dim arrayOfResults As UInteger()
Dim dt As DataTable
Dim r As DataRow

For i = 0 To dt.Rows.Count - 1


Next
我不知道在for循环中放什么,我需要访问每一行的datatable的第一列,并将其存储到数组中。那么会是这样吗

for loop

    arrayOfResults.? = dt.Rows(i)("Mat")
next
或:

或:

或:

或:


有很多更好的方法可以做到这一点(特别是LINQ),但为了使它与您所做的最接近,我会使用通用列表而不是数组(如下所示):

或者,在知道数据表中有多少行之后,必须重新分配数组,然后可以执行以下操作:

For i = 0 to dt.Rows.Count - 1
  ArrayOfResult(i) = dt.Rows(i)("Mat")
Next 
但是,正如我所说,数组必须首先进行适当的尺寸标注


希望这至少有一点帮助…

有很多更好的方法可以做到这一点(特别是LINQ),但为了让它与您所做的最接近,我会使用通用列表而不是数组(如下所示):

或者,在知道数据表中有多少行之后,必须重新分配数组,然后可以执行以下操作:

For i = 0 to dt.Rows.Count - 1
  ArrayOfResult(i) = dt.Rows(i)("Mat")
Next 
但是,正如我所说,数组必须首先进行适当的尺寸标注


希望这至少有点帮助…

您能解释一下为什么需要从数组中的数据表中传输值吗。datatable是一种美化的数组。很抱歉,花了这么长时间,我需要传输它们,因为我有一个sql语句填充datatable,然后我需要将某个列中的每个值存储到一个数组中,并将数组传递到一个单元测试。请解释为什么需要从数组中的datatable传输值。数据表是一种美化的数组,它花了这么长时间,我需要传输它们,因为我有一个填充数据表的sql语句,然后我需要将某一列中的每个值存储到一个数组中,并将数组传递到单元测试中。行中的项是必须首先转换的object类型,以便将它们添加到其他特定类型的集合中。行中的项是必须转换的object类型首先,将它们添加到其他特定类型的集合中。
Dim dt As DataTable = '...
Dim results As New List(Of UInteger)(dt.Rows.Count)
For Each row As IDataRecord In dt
    results.Add(CUInt(row("Mat")))
Next row
Dim ArrayOfResults as New List(Of UInteger)

....

For i = 0 to dt.Rows.Count - 1
   ArrayOfResults.Add(dt.Rows(i)("Mat")
Next 
For i = 0 to dt.Rows.Count - 1
  ArrayOfResult(i) = dt.Rows(i)("Mat")
Next