我正在寻找一种从数据集列生成字符串数组的方法。我在 C# 中遇到了一些示例,但无法使用 LINQ 编写 VB.Net 等效项。我不想使用循环来实现相同的目的。
string[] columnNames = (from dc in ds.Tables(0).Columns.Cast<DataColumn>()
select dc.ColumnName).ToArray();
虽然我的最终目标是将这些值传递给互操作程序集工作表.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()