C# 处理DataTable 重复数据

Posted

tags:

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

一个 datatable 里面 假如有A B C D 4列 10W行数据 要求 C列所有行相同的数据只保留一行,其他的删除掉,给出一个算法10秒内处理完成

List<string> temps = new List<string>();
for (int i = 0; i < dt.Rows.Count;)
string s = dt.Rows[i]["C"].ToString();
if (temps.Contains(s))
dt.Rows.RemoveAt(i);

else
temps.Add(s);


希望对你有帮助
参考技术A 如果你的数据没有特殊字符的话可以使用datatable自带的select筛选 参考技术B 数据是从数据库里查询出来的吧?可以用sql筛选都嘛。 参考技术C 你先使用C列进行排离,然后遍历一便也花不了10秒这么久

C# DataTable分页处理

public DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)//PageIndex表示第几页,PageSize表示每页的记录数
{
if (PageIndex == 0)
return dt;//0页代表每页数据,直接返回

DataTable newdt = dt.Copy();
newdt.Clear();//copy dt的框架

int rowbegin = (PageIndex - 1) * PageSize;
int rowend = PageIndex * PageSize;

if (rowbegin >= dt.Rows.Count)
return newdt;//源数据记录数小于等于要显示的记录,直接返回dt

if (rowend > dt.Rows.Count)
rowend = dt.Rows.Count;
for (int i = rowbegin; i <= rowend - 1; i++)
{
DataRow newdr = newdt.NewRow();
DataRow dr = dt.Rows[i];
foreach (DataColumn column in dt.Columns)
{
newdr[column.ColumnName] = dr[column.ColumnName];
}
newdt.Rows.Add(newdr);
}
return newdt;
}

以上是关于C# 处理DataTable 重复数据的主要内容,如果未能解决你的问题,请参考以下文章

c#中datatable绑定comboBox显示数据有重复怎么处理?取值时未用SQL语句。

C# Winform DataTable 怎么过滤两列不重复

c#中datatable如何去除重复数据

ASP.NET C# 如何合并DataTable中的重复数据(做数据整合)

C# DataTable行转列并合并重复列。

c#中同一个Datatable中的如何把重复的记录合并起来,