当前位置:  开发笔记 > 编程语言 > 正文

从DataSet获取列的所有值

如何解决《从DataSet获取列的所有值》经验,为你挑选了1个好方法。

在C#中,是否可以使用简单的指令从DataSet的所有行获取特定列的所有值(没有LINQ,没有用于cicle)?



1> KyleMit..:

为什么没有LINQ?对于没有相同限制的人来说,有三种方法可以做到这一点,后两种方法都使用LINQ.

C#

List colValues = new List();

//for loop
foreach (DataRow row in dt.Rows) {
    colValues.Add(row["ColumnName"]);
}

//LINQ Query Syntax
colValues = (from DataRow row in dt.Rows select row["ColumnName"]).ToList();

//LINQ Method Syntax
colValues = dt.AsEnumerable().Select(r => r["ColumnName"]).ToList();


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语法执行此操作,因为它会自动为您投射).DataTableDataRow

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有