Arrays 从数据集Vb.Net生成数组

Arrays 从数据集Vb.Net生成数组,arrays,vb.net,linq,dataset,interop,Arrays,Vb.net,Linq,Dataset,Interop,我正在寻找一种从数据集列生成字符串数组的方法。我在C#中遇到了以下几个示例,但无法使用LINQ编写VB.Net等效程序。我不想用循环来达到同样的效果 string[] columnNames = (from dc in ds.Tables(0).Columns.Cast<DataColumn>() select dc.ColumnName).ToArray(); string[]columnNames=(来自ds.Tables(0.C

我正在寻找一种从数据集列生成字符串数组的方法。我在C#中遇到了以下几个示例,但无法使用LINQ编写VB.Net等效程序。我不想用循环来达到同样的效果

string[] columnNames = (from dc in ds.Tables(0).Columns.Cast<DataColumn>()
                        select dc.ColumnName).ToArray();
string[]columnNames=(来自ds.Tables(0.Columns.Cast()中的dc)
选择dc.ColumnName).ToArray();

尽管我的最终目标是将这些值传递给Interop Assembly Workbench.Range()。

类似的内容应该适用于您的情况:

Dim arr As String() = (From myRow In ds.Tables(0).AsEnumerable 
                      Select myRow.Field(Of String)("yourColumnName")).ToArray
VB的等价物是

Dim arr = (From dc In ds.Columns.Cast(Of DataColumn) Select dc.ColumnName) _
          .ToArray()

你发现了什么问题?转换不太困难;注意:linq查询只是在“引擎盖下”执行一个循环,可能是我之前尝试过的循环的重复。不知何故,我无法安排处理LINQ返回的rowcollection。我收到此错误是因为Array不是System.Data.EnumerablerRowCollection(字符串)的成员@Nilanjan只是为了澄清,您是否将
Imports System.Linq
添加到您的文件中?非常感谢。我没有导入系统。林克