C# DataTable 根据字段 取出数据唯一值(筛选某个字段对应的不重复数据)

要求:我要取出zhuang 字段下的唯一值,说白了我就是要取出“1幢”,“2幢”,“3幢”。

主要方法是ToTable:

 DataView dv = new DataView(dt);
 DataTable dt1 = dv.ToTable(true, “zhuang”);    //对单个字段Id进行过滤,true表示使用distinct方法

demo:

            DataTable dt = new DataTable();
            dt.Columns.Add("build_id");
            dt.Columns.Add("zhuang");//因为是字符串,所以排序不对
            //List<string> list_subbuilding_num = new List<string>();

            dt.Rows.Add(1, "1幢");
            dt.Rows.Add(2, "1幢");
            dt.Rows.Add(1, "1幢");
            dt.Rows.Add(1, "2幢");
            dt.Rows.Add(2, "2幢");
            dt.Rows.Add(1, "3幢");
            dt.Rows.Add(2, "3幢");

            DataView dv = new DataView(dt);
            DataTable dt1 = dv.ToTable(true, "zhuang");    //对单个字段Id进行过滤,true表示使用distinct方法
            DataTable dt2 = dv.ToTable(true, new string[] { "zhuang", "build_id" });//对多个字段进行过滤
            Console.WriteLine("对单个字段进行唯一值过滤:");
            foreach (DataRow item in dt1.Rows)
            {
                Console.WriteLine(item["zhuang"].ToString());
            }

            Console.WriteLine("对多个字段进行唯一值过滤:");
            foreach (DataRow item in dt2.Rows)
            {
                //list_subbuilding_num.Add(item["zhuang"].ToString());
                Console.WriteLine(item["build_id"].ToString() + "==" + item["zhuang"].ToString());

            }

结果:

《C# DataTable 根据字段 取出数据唯一值(筛选某个字段对应的不重复数据)》

    原文作者:真是个小傻瓜
    原文地址: https://blog.csdn.net/sinat_40692412/article/details/85781736
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞