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

在 SQL 中获取列中的DISTINCT值,我会执行以下操作:

SELECT DISTINCT ColumnName FROM TableName;

我想做这样的事情,但对于 DataTable 的 DataColumn。我知道这种方式(按照此链接),它使用以下事实的通常直观方式,即我们可以检查我们是否拥有 contains(whatWeWant),如果没有,我们可以将其添加到某个容器中独特的物品。我想知道的是,是否有类似以下内容:

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

我还通过阅读Microsoft Docs了解到 DataColumn 类没有名为 Distinct 的方法,但如果有你们知道的类似内容,请告诉我。如果不是,我将诉诸于使用包含的直观方式制作一个 Distinct 扩展方法。


繁华开满天机
浏览 153回答 2
2回答

倚天杖

如果您添加System.Data.DataSetExtensions到项目的引用中:using System.Data;var uniqueObjects = dataTable     .AsEnumerable()     .Select(row => row[0])     .Distinct()     .ToList();

墨色风雨

你可以像...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;uniqueObjects&nbsp;=&nbsp;&nbsp;dataTable.AsEnumerable().Select(x=>x.Field<ColumnType>("ColumnName")).Distinct().ToList();
打开App,查看更多内容
随时随地看视频慕课网APP