VB.NET List转datatable
时间: 2023-08-07 07:08:02 浏览: 286
在VB.NET中,你可以使用`DataTable`的`Load()`方法将`List`转换为`DataTable`。以下是一个示例代码:
```vb
Imports System.Data
Module ListToDataTable
Sub Main()
Dim dataList As New List(Of Person)()
dataList.Add(New Person() With {.ID = 1, .Name = "John"})
dataList.Add(New Person() With {.ID = 2, .Name = "Jane"})
Dim dataTable As DataTable = ConvertListToDataTable(dataList)
' 打印DataTable中的数据
For Each row As DataRow In dataTable.Rows
Console.WriteLine("ID: " & row("ID") & ", Name: " & row("Name"))
Next
End Sub
Function ConvertListToDataTable(dataList As List(Of Person)) As DataTable
Dim dataTable As New DataTable()
' 添加列
dataTable.Columns.Add("ID", GetType(Integer))
dataTable.Columns.Add("Name", GetType(String))
' 添加数据行
For Each person As Person In dataList
Dim row As DataRow = dataTable.NewRow()
row("ID") = person.ID
row("Name") = person.Name
dataTable.Rows.Add(row)
Next
Return dataTable
End Function
End Module
Public Class Person
Public Property ID As Integer
Public Property Name As String
End Class
```
在上述示例中,我们首先定义了一个`Person`类,具有`ID`和`Name`属性。然后,我们创建了一个包含两个`Person`对象的`List(Of Person)`。接下来,我们调用`ConvertListToDataTable`函数将`List(Of Person)`转换为`DataTable`。在该函数中,我们首先创建一个空的`DataTable`对象,并为其添加两列(ID和Name)。然后,我们遍历`List(Of Person)`中的每个对象,为每个对象创建一个新的数据行,并将数据行添加到`DataTable`中。最后,我们返回转换后的`DataTable`。
在`Main`方法中,我们使用`For Each`循环遍历转换后的`DataTable`中的每一行,并打印出ID和Name的值。
输出结果如下:
```
ID: 1, Name: John
ID: 2, Name: Jane
```
这样就实现了将`List`转换为`DataTable`的功能。请根据你的实际需求调整代码。
阅读全文