DataTable判断某个字段是否有重复数据、数组去重复。

1.DatatTable 某个字段是否重复

DataTable dtTableDisinit = (DataTable)this.c1TrueDBGrid1.DataSource;
                DataView dv = new DataView(dtTableDisinit);
                if (dv.Count != dv.ToTable(true, "PMD_SingProduct").Rows.Count)
                {
                    Common.showMessageInfo("网格中存在重复的品番!");
                    return;
                }

2.数组中去重复的数据和判断一个数组中是否有重复的数据

 string[] strSing = this.PM_CollectionGoods.Text.ToString().Trim().Split(',');
            string[] strDis = strSing.Distinct().ToArray();
            if (strSing.Length != strDis.Length)
            {
                Common.showMessageInfo("数组中存在重复的数据");
                return;
            }

在C#,使用`DataTable`对象去除基于特定列的重复数据是一个常见的需求。可以通过`DataTable`的`Compute`方法或者创建一个新的`DataTable`来实现。以下是基于特定列去除重复数据的一种方法: 1. 使用`DataTable`的`DefaultView`属性和`RowFilter`属性,结合`Unique`标志来过滤掉重复行。这种方法适用于单个列去重。 ```csharp DataTable dt = new DataTable(); // 假设dt已经填充了数据 // 获取特定列的列名 string columnName = "需要去重的列名"; // 使用RowFilter属性过滤重复DataTable uniqueTable = dt.DefaultView.ToTable(true, columnName); // uniqueTable 现在包含了去除重复数据DataTable ``` 2. 如果需要根据多个列进行去重,可以在`RowFilter`指定多个列名,并在`Compute`方法使用`Group By`语句。 ```csharp DataTable dt = new DataTable(); // 假设dt已经填充了数据 // 获取需要去重的列名数组 string[] columnNames = new string[] { "第一列名", "第二列名" }; // 构建Group By语句 string groupByStatement = string.Join(", ", columnNames); // 使用Compute方法进行分组去重 DataTable uniqueTable = dt.Compute("count(" + columnName + ")", "Group By " + groupByStatement); // uniqueTable 现在包含了去除重复数据DataTable ``` 需要注意的是,使用`Compute`方法时,需要确保分组列至少有一列是可以进行计数操作的列(例如,存在非空或可计数的列),否则可能会导致结果不正确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值