从数据表中选择数据列中的唯一值?

时间:2018-08-03 19:18:24

标签: c# select datatable unique datacolumn

在SQL中获取列中的 DISTINCT 值,我会做类似的事情:

SELECT DISTINCT ColumnName FROM TableName;

我想为DataTable的DataColumn做类似的事情。我知道这种方式(遵循link)采用了一种通常的直观方式,即使用以下事实:我们可以检查是否有包含(whatWeWant),如果没有,我们可以添加它一些独特物品的容器。我想知道的是,那里是否有类似以下内容的东西:

var uniqueObjects = dataTable.Columns[0].Distinct().ToList();

通过阅读Microsoft Docs,我也知道DataColumn类没有名为Distinct的方法,但是如果你们知道这样的事情,请告诉我。如果没有,我将使用包含的直观方法求助于Distinct扩展方法。

2 个答案:

答案 0 :(得分:3)

如果您将System.Data.DataSetExtensions添加到项目的引用中:

using System.Data;

var uniqueObjects = dataTable
     .AsEnumerable()
     .Select(row => row[0])
     .Distinct()
     .ToList();

答案 1 :(得分:2)

你可以喜欢...

      var uniqueObjects =  dataTable.AsEnumerable().Select(x=>x.Field<ColumnType>("ColumnName")).Distinct().ToList();