在C#中,是否可以使用简单的指令从DataSet的所有行获取特定列的所有值(没有LINQ,没有用于cicle)?
为什么没有LINQ?对于没有相同限制的人来说,有三种方法可以做到这一点,后两种方法都使用LINQ.
C#
List
VB
Dim colValues As New List(Of Object)
'for loop
For Each row As DataRow In dt.Rows
colValues.Add(row("ColumnName"))
Next
'LINQ Query Syntax
colValues = (From row As DataRow In dt.Rows Select row("ColumnName")).ToList
'LINQ Method Syntax
colValues = dt.Rows.AsEnumerable.Select(Function(r) r("ColumnName")).ToList
要AsEnumerable
在a上使用该方法DataTable
,您必须具有对System.Data.DataSetExtensions的引用,该引用添加LINQ扩展方法.否则,您可以只转换as类型的Rows
属性(您不必使用Query语法执行此操作,因为它会自动为您投射).DataTable
DataRow