C# 高效過濾DataTable 中重復數據方法


使用DataView,然后設置ToTable,設置幾個字段和一個布爾值,表示這些字段作為一個整體,在這個表內不允許重復,示例代碼:

namespace A
{
    class Program
    {
        static void Main(string[] args)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("Id",typeof(int));
            Random r = new Random(DateTime.Now.Millisecond);
            //隨機生成1000行記錄
            for (int i = 0; i < 1001; i++)
            {
                dt.Rows.Add(r.Next(1, 11));
            }
 
            DataView dv = new DataView(dt);
            dt = dv.ToTable(true, "Id");    //對Id進行過濾,true表示使用distinct方法
 
            foreach (DataRow item in dt.Rows)
            {
                Console.WriteLine(item["Id"].ToString());
            }
        }
    }
}

 上面datatable只有一列,如果是多列的話,去重如下

DataView dv = new DataView(dt);
dt = dv.ToTable(true, new string[] { "Id","Value" });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM