我现在有一个datatable,我想要排除a列只出现过一次的值
要a列 2只出现一次,想要把他排除掉
循环检测一下是否存在后插入
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("a列"));
dt.Columns.Add(new DataColumn("b列"));
DataRow row = dt.NewRow();
row["a列"] = 1;
row["b列"] = "啊";
dt.Rows.Add(row);
row = dt.NewRow();
row["a列"] = 2;
row["b列"] = "是";
dt.Rows.Add(row);
row = dt.NewRow();
row["a列"] = 1;
row["b列"] = "好";
dt.Rows.Add(row);
row = dt.NewRow();
row["a列"] = 3;
row["b列"] = "去";
dt.Rows.Add(row);
row = dt.NewRow();
row["a列"] = 3;
row["b列"] = "我";
dt.Rows.Add(row);
// 实现代码,采用linq分组,筛选实现。
var dt2 = dt.AsEnumerable();
var dt3 = dt2.GroupBy(t1 => t1["a列"]);
var dt4 = dt3.Where(t1=>t1.Count()>1).Select(t1=>t1.Key).ToList();// 要a列 2只出现一次,想要把他排除掉
// 最终得到想要的数据
dt = dt2.Where(t1 => dt4.Contains(t1["a列"])).CopyToDataTable<DataRow>();