在SQL中获取列中的 DISTINCT 值,我会做类似的事情:
SELECT DISTINCT ColumnName FROM TableName;
我想为DataTable的DataColumn做类似的事情。我知道这种方式(遵循link)采用了一种通常的直观方式,即使用以下事实:我们可以检查是否有包含(whatWeWant),如果没有,我们可以添加它一些独特物品的容器。我想知道的是,那里是否有类似以下内容的东西:
var uniqueObjects = dataTable.Columns[0].Distinct().ToList();
通过阅读Microsoft Docs,我也知道DataColumn类没有名为Distinct的方法,但是如果你们知道这样的事情,请告诉我。如果没有,我将使用包含的直观方法求助于Distinct扩展方法。
答案 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();