请教一下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无用
悬赏问题
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因