weixin_44978462
weixin_44978462
采纳率0%
2021-02-25 11:08

C#datatable取值问题

我现在有一个datatable,我想要排除a列只出现过一次的值

  1. A列    B列
  2. 1         啊
  3. 2         是
  4. 1         好
  5. 3         去
  6. 3         我

要a列 2只出现一次,想要把他排除掉

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • MyNameIsXiaoLai laiyr2 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>();

    点赞 评论 复制链接分享
  • cbwxm1 cbwxm1 2月前

    循环检测一下是否存在后插入

    点赞 评论 复制链接分享