使用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" });