【发布时间】:2021-06-02 00:27:53
【问题描述】:
我可以成功地从 DataTable (DT) 中获取列 x1、x2 和 x3,例如使用
Dim arrayOfObjects()() As Object = DT.AsEnumerable().Select(Function(b) {b("x1"), b("x2"), b("x3")}).ToArray()
但是,我的大部分获取将涉及不同的列组合,因此在这种情况下,我将使用列名的列表或字符串数组到达,然后更愿意根据列表或数组获取列。怎么可能做到这一点?我还没有看到您可以将字段名称连接到一个字符串中并将其插入到 Select 命令中进行提取的用例。
我正在设想使用类似的东西
Dim mystr As String = "x1,x2,x3"
Dim arrayOfObjects()() As Object = DT.AsEnumerable().Select(mystr}).ToArray()
【问题讨论】:
-
Dim tarCols = {"x2", "x3", "x4"} : Dim rows = dt.DefaultView.ToTable(False, tarCols).AsEnumerable().ToArray(). -
谢谢,但这会产生列名列表。相反,我需要一个由三列数据填充的锯齿状数组()()。基本思想是连接一个字符串并将其注入到 Select 命令中,以获取指定列的数据。基本问题是
Function(b) {b("x1"), b("x2"), b("x3")}不能用字符串或对象替换。现在,我可以使用 DataView,但我必须遍历行和列。寻找一种将字符串或列表(字符串)填充到 Select() 中的方法。
标签: vb.net select datatables toarray