DataTable到ArrayList

Fla*_*dkz 1 vb.net datatable arraylist

我想从datatable获取值,然后将其存储到string()arraylist中.datatable包含3列(columnA | columnB | columnC).我想从columnB获取所有值并将其存储到arraylist.

我尝试过这样的事情

If myTableData.Rows.Count > 0 Then
    For i As Integer = 0 To myTableData.Rows.Count - 1
        Dim value() As String = myTableData.Rows(i)(1)
    Next
End If
Run Code Online (Sandbox Code Playgroud)

但是当我编译该代码时,我收到如下错误消息:

无法将类型为'System.String'的对象强制转换为'System.String []'

请帮我.....

Tim*_*ter 5

你可以用LINQ做到这一点:

Dim colBValues = (From row In myTableData Select colB = row(1).ToString).ToList
Run Code Online (Sandbox Code Playgroud)

或者如果您更喜欢"老派"的方式:

Dim colBValues = New List(Of String)
For Each row As DataRow In myTableData.Rows
    colBValues.Add(row(1).ToString)
Next
Run Code Online (Sandbox Code Playgroud)

我使用过a List(Of String)因为它是类型安全的,所以你不需要每次都抛出值.这使代码更具可读性,更安全,更快速.

如果你需要它作为String-Array,你可以简单地使用ToArray:

Dim colBValues = (From row In myTableData Select colB = row(1).ToString).ToArray
Run Code Online (Sandbox Code Playgroud)