VB.NET DataTable-获取第一个;";不使用循环的列的项

VB.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

我有一个DataTable
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,但从技术上讲,有一种方法可以“检索项目”