指定DataTable中某些列是否同时存在重复
来源:互联网 发布:国内编程语言排行榜 编辑:程序博客网 时间:2024/05/29 02:45
DataTable dt = new DataTable("tab"); dt.Columns.Add("指标简码", typeof(int)); dt.Columns.Add("指标简码1", typeof(int)); dt.Columns.Add("指标简码2", typeof(int)); dt.Rows.Add(new object[] { 1, 1, 1 }); dt.Rows.Add(new object[] { 1, 1, 2 }); dt.Rows.Add(new object[] { 3, 1, 1 }); dt.Rows.Add(new object[] { 4, 3, 3 }); if (dt.DefaultView.ToTable(true, "指标简码", "指标简码1", "指标简码2").Rows.Count < dt.Rows.Count) { //有重复数据 }//只保留指定的列
//保留原始列、要倒序,因为索引会发生改变 var hash = new HashSet<String>(); for (int i = dtExcel.Rows.Count - 1; i >= 0; i--) { var key = String.Concat(dt.Rows[i]["指标简码"], dt.Rows[i]["指标简码1"]); if (hash.Add(key)) { //不重复 var bb = key; } else { //重复 dt.Rows[i].Delete(); } } dt.AcceptChanges();
0 0