求助 现在有一个 DataRow[] 数组,想去除重复行

猴头 2016-07-27 02:23:15
DataRow[] 数组 中的每一行数据要经过处理后添加到一个Dictionary<string,dynamic>中

为什么value 是dynamic ?因为我将DataRow 中的每一行数据 处理后放在一个 匿名类型 var a = new {.....} 里

DataRow 所属的DataTable 中有N列,在处理时,只要其中某些行的 col1列、col2列对应的数据相同就,看做是重复行,

如果不直接过滤DataRow[] 的重复行,那在添加到 Dictionary 中就要判断 是否已经存在相应的key值,Key值取的某一列的字段值。

我想通过扩展方法,或者linq直接过滤 DataRow[] 该怎么做???

...全文
1014 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
猴头 2016-08-11
  • 打赏
  • 举报
回复
引用 4 楼 FoxDave 的回复:
部分字段重复没法用查询判断吧,遍历吧 反正是O(n)复杂度
遍历吧
Justin-Liu 2016-07-29
  • 打赏
  • 举报
回复
部分字段重复没法用查询判断吧,遍历吧 反正是O(n)复杂度
让我睡一会儿 2016-07-28
  • 打赏
  • 举报
回复
var v_dr = (from a in dr.AsEnumerable()
                      where a["col1"].ToString() != a["col2"].ToString()
                      select new
                      {
                          col1 = a["col1"].ToString(), 
                          col2 = a["col2"].ToString()
                      }).ToList();
猴头 2016-07-27
  • 打赏
  • 举报
回复
处理的DataTable 是已经从数据库中取到数据
引用 1 楼 D56233577 的回复:
通过key判断应该是很快的,你试过对性能有多大影响?另外你key对应的列还有重复值,不能在sql上处理?
D56233577 2016-07-27
  • 打赏
  • 举报
回复
通过key判断应该是很快的,你试过对性能有多大影响?另外你key对应的列还有重复值,不能在sql上处理?

8,494

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧