转自:http://blog.csdn.net/zhensoft163/article/details/6199444
//行数据相同的重复值
在使用DataTable保存数据或者合并数据的时候,会遇到DataTable中存在重复数据的情况,过去我的解决方法是,
使用for循环一次次循环批对,查询是否有重复数据,然后在删除改行。操作麻烦,数据量一多速度也很慢。
后来才知道,在 C# 语言中提供了一个非常方便的方法供使用。
view plainprint?
DataTable dt = new DataTable();
dt = ......//给dt赋值
//将dt中的重复数据过滤掉
DataView myDataView = new DataView(dt);
//此处可加任意数据项组合
string[] strComuns = { "列1", "列2", "列3"};
dt = myDataView.ToTable(true, strComuns);
完成,原来的一堆循环,现在就剩下了几行代码。
// 列的重复值
string[] strTem = new string[ds.Tables[0].Rows.Count];
for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
{
strTem[j] = ds.Tables[0].Rows[j][0].ToString();
}
//取Ds中Link的不同值
List<string> strReturn = new List<string>();
foreach (string nlink in strTem)
{
if (strReturn.Contains(nlink) == false)
strReturn.Add(nlink);
}
string[] strZ = strReturn.ToArray(); //把不同的值保存到一个数组