Indexing 如何在datatable vbnet中按索引选择列

Indexing 如何在datatable vbnet中按索引选择列,indexing,multiple-columns,Indexing,Multiple Columns,有人知道如何从数据表的3到12中选择(ex)列吗? 例如,在matlab中存在一些“:”运算符来表示“获取所有元素”,我需要在vbnet中使用这种运算符 谢谢 您的问题是如何在VB.Net中实现这个matlab语句 datatable(:, 3:12) 所以你想从每一行得到第3列到第12列,对吗 除了迭代,我不认识任何方法。下面是一个小示例,它应该为datatable(:,1:3)创建所需的输出。请注意,本例中的startVal为1,endVal为3: Module Module1

有人知道如何从数据表的3到12中选择(ex)列吗? 例如,在matlab中存在一些“:”运算符来表示“获取所有元素”,我需要在vbnet中使用这种运算符


谢谢

您的问题是如何在VB.Net中实现这个matlab语句

datatable(:, 3:12)
所以你想从每一行得到第3列到第12列,对吗

除了迭代,我不认识任何方法。下面是一个小示例,它应该为datatable(:,1:3)创建所需的输出。请注意,本例中的startVal为1,endVal为3:

Module Module1

    Sub Main()
        ' Create a table.
        Dim table As DataTable = New DataTable("Example")

        ' Add columns.
        table.Columns.Add(New DataColumn("ID", GetType(Integer)))
        table.Columns.Add(New DataColumn("Name", GetType(String)))
        table.Columns.Add(New DataColumn("Letters", GetType(Integer)))
        table.Columns.Add(New DataColumn("Animal", GetType(String)))

        ' Add rows.
        table.Rows.Add(10, "Hello", 5, "Dog")
        table.Rows.Add(20, "World", 5, "Cat")
        table.Rows.Add(30, "Example", 7, "Mouse")
        table.Rows.Add(40, "For", 3, "Horse")
        table.Rows.Add(50, "You", 3, "Elephant")

        ' Define your start and end.
        Dim startVal As Integer = 1
        Dim endVal As Integer = 3

        ' Iterate the Rows.
        For indexRows = 0 To table.Rows.Count - 1
            ' Get current Row.
            Dim currentRow As DataRow = table.Rows.Item(indexRows)
            ' Iterate your desired Columns.
            For indexColumns = startVal To endVal
                ' Write the current Column and add some Whitespace for better readability.
                Console.Write(currentRow(indexColumns) & vbTab)
            Next
            ' When done with the CurrentRow add a Linebreak for the next Row
            Console.WriteLine()
        Next
    End Sub

End Module