会敲键盘的肘子 2022-08-15 11:15 采纳率: 100%
浏览 71
已结题

C# DataTable 去重

请教一下C# DataTable去除重复行的方法,重复行判断的要求是每个字段(字段名未知)都不一样,并且单元格需要去除空格,比如(A B)和(AB)认为是一样的。

  • 写回答

3条回答 默认 最新

  • wanghui0380 2022-08-15 15:04
    关注

    Dt的字段表达式功能有限,不足以完成Replace功能


    官方文档也可以看到,内置表达式只有有限功能。如果内置表达式可以支持的功能,你可以新建一个列名用表达式进行必要转换
    然后

    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

    你看看老外们怎么提问和回答的--这些还是需要学习的,会提问才有好回答

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月23日
  • 已采纳回答 8月15日
  • 修改了问题 8月15日
  • 创建了问题 8月15日

悬赏问题

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