VB.NET DataTable-获取第一个;";不使用循环的列的项
我有一个DataTableVB.NET DataTable-获取第一个;";不使用循环的列的项,vb.net,datatable,Vb.net,Datatable,我有一个DataTabledt,需要将某列的第一个n项存储在整数数组中。我知道用这样的循环很容易做到: Dim array(n-1) As Integer For i As Integer = 0 To n-1 array(i) = dt.Rows(i).Item("columName") Next 尽管如此,是否有更方便的方法将这些项存储在数组中?“不使用循环”是不可能的,因为没有神奇的方法可以从集合中检索项而不进行循环。但是,您可能认为LINQ不使用循环: Dim columNam
dt
,需要将某列的第一个n
项存储在整数数组中。我知道用这样的循环很容易做到:
Dim array(n-1) As Integer
For i As Integer = 0 To n-1
array(i) = dt.Rows(i).Item("columName")
Next
尽管如此,是否有更方便的方法将这些项存储在数组中?“不使用循环”是不可能的,因为没有神奇的方法可以从集合中检索项而不进行循环。但是,您可能认为LINQ不使用循环:
Dim columNameValues = From row In dt
Select row.Field(Of Int32)("columName")
Dim array As Int32() = columNameValues.ToArray()
获取所有行中的所有值,如果要获取n
值,请使用可枚举。获取:
Dim array As Int32() = columNameValues.Take(n).ToArray()
在VB.NET中,您甚至可以在LINQ查询中使用Take
:
Dim first10Values = From row In dt
Select row.Field(Of Int32)("columName")
Take 10
值得一提的是,正如Barry所提到的,从技术上讲,不使用循环就可以从集合中获取n
项,但请看您自己:
Dim value1 As Int32 = dt.Rows(0).Field(Of Int32)("columName")
Dim value2 As Int32 = dt.Rows(1).Field(Of Int32)("columName")
Dim value3 As Int32 = dt.Rows(2).Field(Of Int32)("columName")
' ..... '
Dim value10 As Int32 = dt.Rows(9).Field(Of Int32)("columName")
您可以将它们添加到列表(Int32)
,但这只是出于演示目的。“不使用循环”是不可能的,因为没有神奇的方法可以从集合中检索项目而不进行循环。但是,您可能认为LINQ不使用循环:
Dim columNameValues = From row In dt
Select row.Field(Of Int32)("columName")
Dim array As Int32() = columNameValues.ToArray()
获取所有行中的所有值,如果要获取n
值,请使用可枚举。获取:
Dim array As Int32() = columNameValues.Take(n).ToArray()
在VB.NET中,您甚至可以在LINQ查询中使用Take
:
Dim first10Values = From row In dt
Select row.Field(Of Int32)("columName")
Take 10
值得一提的是,正如Barry所提到的,从技术上讲,不使用循环就可以从集合中获取n
项,但请看您自己:
Dim value1 As Int32 = dt.Rows(0).Field(Of Int32)("columName")
Dim value2 As Int32 = dt.Rows(1).Field(Of Int32)("columName")
Dim value3 As Int32 = dt.Rows(2).Field(Of Int32)("columName")
' ..... '
Dim value10 As Int32 = dt.Rows(9).Field(Of Int32)("columName")
您可以将它们添加到列表(Int32)
,但这只是出于演示目的。“不使用循环”是不可能的,因为没有神奇的方法可以从集合中检索项目而不进行循环。但是,您可能认为LINQ不使用循环:
Dim columNameValues = From row In dt
Select row.Field(Of Int32)("columName")
Dim array As Int32() = columNameValues.ToArray()
获取所有行中的所有值,如果要获取n
值,请使用可枚举。获取:
Dim array As Int32() = columNameValues.Take(n).ToArray()
在VB.NET中,您甚至可以在LINQ查询中使用Take
:
Dim first10Values = From row In dt
Select row.Field(Of Int32)("columName")
Take 10
值得一提的是,正如Barry所提到的,从技术上讲,不使用循环就可以从集合中获取n
项,但请看您自己:
Dim value1 As Int32 = dt.Rows(0).Field(Of Int32)("columName")
Dim value2 As Int32 = dt.Rows(1).Field(Of Int32)("columName")
Dim value3 As Int32 = dt.Rows(2).Field(Of Int32)("columName")
' ..... '
Dim value10 As Int32 = dt.Rows(9).Field(Of Int32)("columName")
您可以将它们添加到列表(Int32)
,但这只是出于演示目的。“不使用循环”是不可能的,因为没有神奇的方法可以从集合中检索项目而不进行循环。但是,您可能认为LINQ不使用循环:
Dim columNameValues = From row In dt
Select row.Field(Of Int32)("columName")
Dim array As Int32() = columNameValues.ToArray()
获取所有行中的所有值,如果要获取n
值,请使用可枚举。获取:
Dim array As Int32() = columNameValues.Take(n).ToArray()
在VB.NET中,您甚至可以在LINQ查询中使用Take
:
Dim first10Values = From row In dt
Select row.Field(Of Int32)("columName")
Take 10
值得一提的是,正如Barry所提到的,从技术上讲,不使用循环就可以从集合中获取n
项,但请看您自己:
Dim value1 As Int32 = dt.Rows(0).Field(Of Int32)("columName")
Dim value2 As Int32 = dt.Rows(1).Field(Of Int32)("columName")
Dim value3 As Int32 = dt.Rows(2).Field(Of Int32)("columName")
' ..... '
Dim value10 As Int32 = dt.Rows(9).Field(Of Int32)("columName")
你可以将它们添加到<代码>列表(It32)< /C>中,但这只是为了演示目的。你认为你做这件事的方式有什么不便?这似乎是一个很好的解决方案。我认为这样做可能需要一行代码,这将使我的代码更具可读性,因为我必须多次运行这些行。如果需要(从dt Select row.Field(Int32的)(“columName”)中的行选择10.ToArray()
,LINQ是一行。但这并不比循环更有效。选择最易读和最易维护的方法。你认为你做这件事的方式有什么不便?这似乎是一个很好的解决方案。我认为这样做可能需要一行代码,这将使我的代码更具可读性,因为我必须多次运行这些行。如果需要(从dt Select row.Field(Int32的)(“columName”)中的行选择10.ToArray()
,LINQ是一行。但这并不比循环更有效。选择最易读和最易维护的方法。你认为你做这件事的方式有什么不便?这似乎是一个很好的解决方案。我认为这样做可能需要一行代码,这将使我的代码更具可读性,因为我必须多次运行这些行。如果需要(从dt Select row.Field(Int32的)(“columName”)中的行选择10.ToArray()
,LINQ是一行。但这并不比循环更有效。选择最易读和最易维护的方法。你认为你做这件事的方式有什么不便?这似乎是一个很好的解决方案。我认为这样做可能需要一行代码,这将使我的代码更具可读性,因为我必须多次运行这些行。如果需要(从dt Select row.Field(Int32的)(“columName”)中的行选择10.ToArray()
,LINQ是一行。但这并不比循环更有效。选择最具可读性和可维护性的方法。的+1“不使用循环”是不可能的,因为没有神奇的方法可以在不循环的情况下从集合中检索项目
+1用于帖子,但技术上有一种方法可以“在不循环的情况下从集合中检索项目”,虽然这绝对是不神奇的,也不雅观:If(不必担心,反正这是一个缺点。的+1“不使用循环”是不可能的,因为没有神奇的方法从集合中检索项目而不循环它。
+1用于帖子,但从技术上讲,有一种方法可以“不循环地从集合中检索项目”,尽管这显然是非魔法的,而且也不雅观:If(不必担心,这是一个错误。“不使用循环“这是不可能的,因为没有神奇的方法可以不循环地从集合中检索项目,但是从技术上来说,有一种方法可以“不循环地从集合中检索项目”,尽管这显然是不神奇的,而且几乎是不雅的:如果(不必担心,反正这是一个缺点。“不使用循环”是不可能的,因为没有一种神奇的方法可以从一个集合中检索项目,而不在文章中循环它
+1,但从技术上讲,有一种方法可以“检索项目”