大家都知道 去除重复或者说取唯一在sql就可以简单的做到 但前几天遇到的问题是 数据是从Excel中读出的一列无序的数据 跟数据库没有任何关系 就是读出来直接放到DataSet里面的 这样的数据应该怎么去除重复呢 希望高手能给出源代码!谢谢!
如下:
ID
1
2
3
1
2
3
1
结果:
ID
1
2
3

解决方案 »

  1.   

    按ID排序然后从行2行开始循环,如果当前行的id与上一行的值相同,则删除当前行
      

  2.   

    List<string> result = new List<string>();
    foreach(DataRow row in dt.Rows)
    {
        if (!result.Contains(row["id"].ToString()))
        {
            result.Add(row["id"].ToString());
        }
    }
    result就是结果另外Excel也可以像操作DB一样的~~~~
      

  3.   

    或者你可以这样dt是你以前的DataTable
    DataView dv = dt.DefaultView;
    DataTable result = dv.ToTable("resulttable", true, "id");
      

  4.   

    有好几种方法的吧!如:DataView dv = dataSet1.Tables[0].DefaultView;
    dv.Sort = "[ID] DESC";
    int lastID=-1;
    for(int i=dv.Count-1;i>-1;i--)
    {
      int currentID = Convert.ToInt32(dv[i]["ID"]);
      if(currentID == lastID)
      {
        dv[i].Row.Delete();
        continue;
      }
      lastID = currentID;
    }未测试
      

  5.   


    lovefootball说得对,这种方法最简单
    DataTable result = dt.DefaultView.ToTable(dt.TableName, true, "id");