社区
C#
帖子详情
DataSet中过滤掉重复项的问题,请教大家了
accd520
2010-02-01 11:21:02
我用ds.Tables[0].Select("GuiGe='" + guiGe + "'"))方式来选出ds中我需要的数据,但是有一些是重复的,我想重复的记录只选一条就可以了,请问这要怎么办啊?
...全文
336
5
打赏
收藏
DataSet中过滤掉重复项的问题,请教大家了
我用ds.Tables[0].Select("GuiGe='" + guiGe + "'"))方式来选出ds中我需要的数据,但是有一些是重复的,我想重复的记录只选一条就可以了,请问这要怎么办啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MicroSoftor
2010-02-02
打赏
举报
回复
方法一、
直接循环所有行,过滤掉所有重复记录,不过,当记录很多时效率低;
方法二、
利用Linq中提供的distinct方法
IEnumerable<DataRow> query = dt.AsEnumerable().Distinct<DataRow>(new MyComparer());
这样得到的query对象中,根据自己的过滤逻辑即可得到不重复数据。
下面是例子
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Id", typeof(string)));
dt.Columns.Add(new DataColumn("Name", typeof(string)));
DataRow dr = dt.NewRow();
dr["Id"] = "1";
dr["Name"] = "test1";
dt.Rows.Add(dr);
DataRow dr1 = dt.NewRow();
dr1["Id"] = "2";
dr1["Name"] = "test2";
dt.Rows.Add(dr1);
DataRow dr2 = dt.NewRow();
dr2["Id"] = "2";
dr2["Name"] = "test3";
dt.Rows.Add(dr2);
IEnumerable<DataRow> query = dt.AsEnumerable().Distinct<DataRow>(new MyComparer());
foreach (var item in query)
{
Console.WriteLine(item["id"].ToString());
}
}
}
public class MyComparer : IEqualityComparer<DataRow>
{
#region IEqualityComparer<DataRow> 成员
public bool Equals(DataRow x, DataRow y)
{
return x["id"].ToString() == y["id"].ToString();
}
public int GetHashCode(DataRow obj)
{
return obj["id"].ToString().GetHashCode();
}
#endregion
}
}
或许还有更好的方法
xu56180825
2010-02-02
打赏
举报
回复
可用循环把重复要删除的项加进一个集合中,在用循环删除
流水小筑
2010-02-02
打赏
举报
回复
在填充ds时就把重复的项去掉,这样不更好吗
wzp144650
2010-02-01
打赏
举报
回复
为什么不自己写个小方法不就过滤了?
zcw840421
2010-02-01
打赏
举报
回复
参考
Spark
中
RDD和DataFrame、
DataSet
的区别?---面试题
RDD、DataFrame和
DataSet
的区别 <!-- 作者区域 --> <div class="author"> <a class="avatar" href="/u/92a1227beb27"> <img ...
DataGridView
中
数据存入数据库方法
最近在做毕业设计,同时也在学习C#用到DataGridView时开始觉得很难,经过朋友的帮助和自己的努力,稍微的明白了一些,现在就把我写的方法写下来,大家一起学习,写的不好的地方也请指证。 DataGridView做了新的...
20.23 QLoRA微调实战:数据准备全流程指南(附代码与案例)
关键步骤包括:隐私脱敏处理(去除身份证号、姓名等)、数据清洗(处理缺失值、
过滤
错误医疗知识)和去重(避免模型过度学习
重复
内容)。文
中
提供了完整的Python代码实现,涵盖数据加载、格式转换、清洗
过滤
等环节,...
PaddleOCR
问题
汇总(2)
PaddleOCR
问题
汇总 Q3.1.64: config yml文件
中
的ratio_list参数的作用是什么? A: 在动态图
中
,ratio_list在有多个数据源的情况下使用,ratio_list
中
的每个值是每个epoch从对应数据源采样数据的比例。如ratio_list...
51c自动驾驶~合集38
自我介绍环节主要是让大家进入快速面试状态,聊聊个人基本信息、教育背景、工作经历和技能特长等等。
C#
111,122
社区成员
642,536
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章