如何删除Datatable中的重复项只包含单列?

时间:2015-01-09 05:24:37

标签: c# datatable notepad

这里我在Datatable.it上传一个记事本文件只包含电话号码,不包含任何Headers.so我想从My Datatable.it中删除重复项仅包含单列。 当我这样做时,我得到结果,但一个值将是重复的。

9988775566
9988556644
9966332200
9988775566
像这样,一个值将再次获得。我希望得到具有重复项的数据表。 我的代码片段是

public void duplicatesinnotepad(DataTable dt, string col)
    {
        ArrayList unique = new ArrayList();
        ArrayList duplicat = new ArrayList();
        foreach (DataRow de in dt.Rows)
        {
            if (unique.Contains(de[col]))
                duplicat.Add(de);
            else
                unique.Add(de[col]);
        }
        foreach (DataRow de in duplicat)
        {
            dt.Rows.Remove(de);  
        }


    }

1 个答案:

答案 0 :(得分:0)

试试这个

使用Linq获取独特元素

        var list = (  
        from row in dt.AsEnumerable()  
        select row.Field<string>("contacts")).Distinct();

OR

    var list = dt.AsEnumerable().
    GroupBy(item => item.Field<string>(dt.Columns["contacts"]));