【问题标题】:How to get unique records of specific columns of data table如何获取数据表特定列的唯一记录
【发布时间】:2013-02-25 18:40:26
【问题描述】:

我有一个从 Excel 文件导入的数据表。 我需要的数据仅在 DataTable 的特定列中是唯一的。 我的意思是唯一的数据就像在 SQL 选择查询中使用命令 DISTINCT 时一样。 我想从 DataTable Column 中获取唯一数据的列表并将它们放入 List 我认为 LinQ 可以用于这件事,但我不太熟悉。 我在想下面这样的代码

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);
}

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

【问题讨论】:

    标签: c# linq


    【解决方案1】:
    var unique = data.Distinct().ToList();
    

    【讨论】:

      【解决方案2】:

      您正在寻找的是.Distinct()See MSDN documentation here。如果您需要特定的东西,您可以指定自己的比较器,它只会返回唯一的记录。

      【讨论】:

        【解决方案3】:

        如果您有 Datatable 或 DataView,为了从列中获取唯一记录,您必须编写此代码。 这很简单。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-10-01
          • 2012-09-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多