请教一下C# DataTable去除重复行的方法,重复行判断的要求是每个字段(字段名未知)都不一样,并且单元格需要去除空格,比如(A B)和(AB)认为是一样的。
3条回答 默认 最新
wanghui0380 2022-08-15 15:04关注Dt的字段表达式功能有限,不足以完成Replace功能
DataColumn.Expression 属性 (System.Data) | Microsoft Docs 获取或设置表达式,用于筛选行、计算列中的值或创建聚合列。 https://docs.microsoft.com/zh-cn/dotnet/api/system.data.datacolumn.expression?view=net-6.0
官方文档也可以看到,内置表达式只有有限功能。如果内置表达式可以支持的功能,你可以新建一个列名用表达式进行必要转换
然后DataTable dt = new DataTable(); DataTable tempTable =dt.DefaultView.ToTable("newTableName", true, new string[] { "列名1", "列名2" });根据列名进行Distinct重映射
如果你要要求已经超出dt本身的范围了,那么请使用linq2datatable完成
具体代码我懒的写,你自己使用 “C# dt.AsEnumerable() Distinct”可以查询到资料--------提示Distinct委托可能需要重新实现比较器接口,如果你看的明白就自己实现,如果你看不明白,请mock一份模拟数据,贴到这里,我想会有人帮你实现当然我先发一下老外的
https://stackoverflow.com/questions/20469467/select-distinct-from-datatable-asenumerable你看看老外们怎么提问和回答的--这些还是需要学习的,会提问才有好回答
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用