c# datatable 相邻数据去重?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# datatable 相邻数据去重?相关的知识,希望对你有一定的参考价值。

如我datable里面有一列数据是:1,2,2,3,3,3,2,2,2
那么我现在行的列数据为:1,2,3,2
这种相邻的去重方法,可以用for实现,但是我想希望能有更好简单的办法,请问各位大神有吗?

相邻去重表示一个数据和上一个或者下一个相同;这种跨行的状态判断只能用循环来实现

你要想有更好的的办法就是只能用强类型的Cast<DataRow>和Field来删除

参考技术A var distinct = dt.Rows.OfType<DataRow>().Select(x=>x[列名].ToString()).Distinct();
纯手打 自己调试

20180322 对DataTable里面的数据进行去重

对DataTable里面的数据进行去重

DataTable dt = new DataTable();
            dt.Columns.Add("Id", typeof(int));
            dt.Columns.Add("Nu", typeof(int));
            Random r = new Random(DateTime.Now.Millisecond);
           
            //DataTable 去重
            for (int i = 0; i < 11; i++)
            {
                dt.Rows.Add(r.Next(1, 11),10);
            }
            dt.Rows.Add(1);
            DataView dv = new DataView(dt);
            dt = dv.ToTable(true, new string[] {"Id","Nu"});    //对Id,Nu 进行过滤,true表示使用distinct方法

            foreach (DataRow item in dt.Rows)
            {
                Console.WriteLine(item["Id"].ToString());
            }

 

以上是关于c# datatable 相邻数据去重?的主要内容,如果未能解决你的问题,请参考以下文章

20180322 对DataTable里面的数据进行去重

向新建dataset中添加数据

DataTable中数据针对某列数据去重

linq查询DataTable中的某列去重数据

DataTable中的数据筛选

jqurey datatables属性