如何获取数据表中特定列的唯一记录

本文关键字:记录 唯一 数据表 何获取 获取 | 更新日期: 2023-09-27 18:25:10

我有一个从Excel文件导入的DataTable。我需要的数据仅在DataTable的特定列中是唯一的。我所说的唯一数据就像在SQL Select Query中使用DISTINCT命令一样。我想从DataTable列中获得唯一数据的列表,并将它们放入list中我觉得林Q可以用来做这件事,但我不太熟悉。我在下面想这样的代码

var data is from MyDataTable
  where MyDataTable.ColumnName = "SpecificColumn"
  select MyDataTable["SpecificColumn"]).UniqueData;
List<string> MyUniqueData = new List<string>();
foreach(object obj in data)
{
  if(MyUniqueData.NotContain(obj))
    MyUniqueData.add(obj);
}

我希望有人能给我一些知识

var unique = data.Distinct().ToList();

如何获取数据表中特定列的唯一记录

您要查找的是.Distinct()。请参阅此处的MSDN文档。如果您需要特定的东西,您可以指定自己的比较器,并且它只返回唯一的记录。

如果你有一个Datatable或DataView,为了从一列中获得唯一的记录,你必须这样写。这很简单。

DataTable dtNew = dt.DefaultView.ToTable(true, "ColName"); // for Datatable
DataTable dtnew= dv.ToTable(true, "ColName"); // for DataView