【发布时间】:2015-01-08 15:56:44
【问题描述】:
我正在使用以下函数来删除 DataTable 中名为 keyField 的某个字段的所有重复值。
public DataTable RemoveDuplicates(DataTable dt, string keyField)
{
IEnumerable<DataRow> uniqueContacts = dt.AsEnumerable()
.GroupBy(x => x.Field<string>(keyField))
.Select(g => g.First());
DataTable dtOut = uniqueContacts.CopyToDataTable();
return dtOut;
}
但是,当keyField 的数据类型是Int32 时,会产生以下异常:
无法将“System.Int32”类型的对象转换为“System.String”类型。
即使keyField 不是string 类型,我如何才能删除重复值?
【问题讨论】:
-
你知道调用这个方法时的数据类型吗?
-
没错!但我怀疑它不是 varchar 或 integer。