标题:C#去除DataTable重复数据的三种方法
方法一:使用Linq去重
步骤:
1.将DataTable转换为IEnumerable对象;
2.使用Linq的Distinct方法去重;
3.将结果转换为DataTable对象。
示例:
DataTable table = new DataTable();
// 假设table中包含重复数据
IEnumerable<DataRow> rows = table.AsEnumerable();
IEnumerable<DataRow> distinctRows = rows.Distinct(DataRowComparer.Default);
DataTable resultTable = distinctRows.CopyToDataTable();
方法二:使用DefaultView去重
步骤:
1.给DataTable添加主键;
2.使用DefaultView的ToTable方法去重。
示例:
DataTable table = new DataTable();
// 添加主键
table.PrimaryKey = new DataColumn[] { table.Columns["column1"], table.Columns["column2"] };
// 假设table中包含重复数据
DataTable distinctTable = table.DefaultView.ToTable(true);
方法三:使用Hashset去重
步骤:
1.定义Hashset对象;
2.循环遍历DataTable的数据行,使用Hashset的Add方法去重;
3.将结果转换为DataTable对象。
示例:
DataTable table = new DataTable();
// 假设table中包含重复数据
HashSet<string> hashset = new HashSet<string>();
foreach (DataRow row in table.Rows)
{
string key = row["column1"].ToString() + row["column2"].ToString();
if (!hashset.Add(key))
{
row.Delete();
}
}
table.AcceptChanges();
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#去除DataTable重复数据的三种方法 - Python技术站