我有一个从Excel文件导入的DataTable。 我需要的数据仅在DataTable的特定列中是唯一的。 我所说的唯一数据就像在SQL Select Query中使用命令DISTINCT一样。 我想从DataTable列中获取唯一数据列表并将它们放入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);
}
我希望有人能把一些知识告诉我。
答案 0 :(得分:3)
var unique = data.Distinct().ToList();
答案 1 :(得分:1)
您正在寻找的是.Distinct()
。 See MSDN documentation here。如果您需要特定的东西,您可以指定自己的比较器,它只返回唯一的记录。
答案 2 :(得分:0)
如果你有一个Datatable或DataView,为了从列中获取唯一记录,你必须写这个。 这很简单。
DataTable dtNew = dt.DefaultView.ToTable(true, "ColName"); // for Datatable
DataTable dtnew= dv.ToTable(true, "ColName"); // for DataView