DataTable中如何去除相同的列

表如:171181191202现在想变成171202就是第二列去除重复项... 表如:17 1
18 1
19 1
20 2
现在想变成
17 1
20 2
就是第二列去除重复项
展开
 我来答
v雪地里的猫
2015-01-30 · TA获得超过864个赞
知道小有建树答主
回答量:401
采纳率:100%
帮助的人:246万
展开全部

思路是循环判断,有重复就删除,无重复的关键列值,放在一个列表中,用于判断。

手打了下,试试下面的代码行不行:

public DataTable FilterDT(DataTable dt, int i)//i表示判断第几列重复
{
    List<string> key = new List<string>();//唯一键值列表
    foreach (DataRow dr in dt.Rows)//循环每行
    {
        string temp = dr[i].ToString();
        if (key.Count(x => x == temp) > 0)//有重复
        {
            dt.Rows.Remove(dr);//移除该行
        }
        else
        {
            key.Add(temp);//重复键值添加到唯一列表
        }
    }
    return dt;
}

调用

DataTable dt = ...;
DataTable dtNew = FilterDT(dt, 1);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式