//有一个DataTable如下:
        DataTable dt = new DataTable();
        dt.Columns.Add("c1");
        dt.Columns.Add("c2");
        dt.Rows.Add(1,2);
        dt.Rows.Add(3,4);
        dt.Rows.Add(1,8);
        dt.Rows.Add(3,4);
        dt.Rows.Add(1,2);//问题是如何写下面的query语句可以查询上面的DataTable得到结果为:
//1,2
//3,4
//1,8
//就是去处重复的行
//请帮忙写完下面的代码
        var query = from p in dt.AsEnumerable()
                   select p;
        foreach(var itme in query)
        {
             Response.Write(itme.Field);
        }

解决方案 »

  1.   

    参考如下代码:
    //有一个DataTable如下:
    DataTable dt = new DataTable();
    dt.Columns.Add("c1");
    dt.Columns.Add("c2");
    dt.Rows.Add(1, 2);
    dt.Rows.Add(3, 4);
    dt.Rows.Add(1, 8);
    dt.Rows.Add(3, 4);
    dt.Rows.Add(1, 2);//问题是如何写下面的query语句可以查询上面的DataTable得到结果为:
    //1,2
    //3,4
    //1,8
    //就是去处重复的行
    //请帮忙写完下面的代码
    var query = from w in dt.AsEnumerable()
    group w by string.Format("{0},{1}", w[0], w[1]) into grps
    select grps;
    foreach (var items in query)
    {
    Console.WriteLine(items.Key);
    foreach (var item in items)
    {
    Console.WriteLine("--{0},{1}", item[0], item[1]);
    }
    }
      

  2.   


     DataTable dt = new DataTable();
                dt.Columns.Add("c1");
                dt.Columns.Add("c2");
                dt.Rows.Add(1, 2);
                dt.Rows.Add(3, 4);
                dt.Rows.Add(1, 8);
                dt.Rows.Add(3, 4);
                dt.Rows.Add(1, 2);            //问题是如何写下面的query语句可以查询上面的DataTable得到结果为:
                //1,2
                //3,4
                //1,8
                //就是去处重复的行
                //请帮忙写完下面的代码
                IEnumerable<DataRow> query = dt.AsEnumerable().Distinct(DataRowComparer.Default);
               MessageBox.Show(query.Count().ToString());//打印出3
      

  3.   


     IEnumerable<DataRow> query = dt.AsEnumerable().Distinct(DataRowComparer.Default);
                foreach (var item in query)
                {
                    MessageBox.Show(item["c1"]+","+item["c2"]);
                    
                }/*
    输出结果:
    1,2
    3,4
    1,8
    */